فهرست مطالب
در این مقاله، من به شما نشان خواهم داد که چگونه می توانید به یک مرجع سلولی در VBA در اکسل دسترسی داشته باشید. شما یاد خواهید گرفت که به یک سلول واحد و همچنین چندین سلول با هم دسترسی داشته باشید.
دانلود کتاب تمرین تمرین
این کتاب تمرینی را دانلود کنید تا کار را در حین مطالعه انجام دهید. این مقاله.
VBA Cell Reference.xlsm
8 روش برای ارجاع به مرجع سلول در Excel VBA
در اینجا ما یک مجموعه داده با نام کتاب ، انواع کتاب، و قیمت برخی از کتابهای یک کتابفروشی به نام کتابفروشی مارتین داریم.
مجموعه داده در محدوده B4:D13 کاربرگ قرار دارد.
امروزه هدف ما یادگیری ارجاع مراجع سلولی است. این مجموعه داده با VBA.
در اینجا 8 بهترین راه برای ارجاع به یک مرجع سلول با VBA در اکسل وجود دارد.
1. با استفاده از Range Object در VBA در Excel به مرجع سلول مراجعه کنید
ابتدا می توانید با استفاده از شی Range VBA به مرجع سلول مراجعه کنید. .
شما می توانید با شی Range هم به یک سلول و هم به محدوده ای از سلول ها مراجعه کنید.
به عنوان مثال، برای دسترسی به تک سلولی B4 ، از خط کد استفاده کنید:
Dim Cell_Reference As Range
Set Cell_Reference = Range("B4")
کد زیر سلول B4 را انتخاب می کند.
سلول B4 را در کاربرگ فعال انتخاب می کند.
به طور مشابه، شما می توانید به طیف وسیعی از سلول ها در این دسترسی داشته باشیدway.
Dim Cell_Reference As Range
Set Cell_Reference = Range("B4:D13")
کد زیر محدوده B4 را انتخاب می کند :D13 .
محدوده سلول ها را انتخاب می کند B4:D13 .
توجه : می توانید از شی Range مستقیماً بدون اینکه ابتدا آن را اعلام کنید استفاده کنید، مانند:
Range("B4:D13").Select
همچنین اگر میخواهید به سلولهای کاربرگ غیرفعال دسترسی داشته باشید، از نام کاربرگ قبل از شیء Range استفاده کنید.
به عنوان مثال، برای دسترسی به سلول B4 از Sheet2 ، استفاده کنید:
Worksheets("Sheet2").Range("B4:D13")
2. با استفاده از اعداد فهرست در VBA در اکسل به مرجع سلول مراجعه کنید
همچنین می توانید با استفاده از اعداد فهرست به مرجع سلول مراجعه کنید. اما در این روش، شما می توانید تنها به یک سلول مراجعه کنید.
به عنوان مثال، برای دسترسی به سلول با شماره ردیف 4 ، و شماره ستون 2 ( B4 )، استفاده کنید:
Cells(4, 2))
کد زیر دوباره سلول B4 کاربرگ فعال را انتخاب می کند.
سلول B4 را انتخاب می کند.
توجه: برای دسترسی به هر سلول از کاربرگ غیرفعال، از نام کاربرگ قبل از مرجع سلول استفاده کنید.
به عنوان مثال:
Worksheets("Sheet2").Cells(4, 2)
[ همان روش 1 ] .
3. به مرجع سلولی نسبت به سلول دیگر در VBA در اکسل مراجعه کنید
شما همچنین می توانید به یک مرجع سلولی نسبت به سلول دیگر در VBA مراجعه کنید. شما باید از تابع Offset از VBA استفاده کنیداین.
برای دسترسی به سلول 1 ردیف پایین و 2 ستون سمت راست سلول B4 (D5) ، از:
استفاده کنید Range("B4").Offset(1, 2)
کد زیر سلول D5 کاربرگ فعال را انتخاب میکند.
It' سلول D5 را انتخاب خواهم کرد.
توجه: برای مراجعه به هر سلولی از کاربرگ غیرفعال، از نام کاربرگ قبل از مرجع سلول.
به عنوان مثال:
Worksheets("Sheet2").Range("B4").Offset(1, 2)
[ همان روش 1 و 2 ] .
4. با استفاده از نماد میانبر در VBA در اکسل به یک مرجع سلول مراجعه کنید
یک نماد میانبر برای دسترسی به هر مرجع سلولی در VBA موجود است. از این طریق میتوانید هم به یک سلول و هم به طیفی از سلولها مراجعه کنید.
برای دسترسی به سلول B4 ، از:
[B4]
<استفاده کنید. 2> یا برای دسترسی به محدوده B4:D13 ، از:
[B4:D13]
کد زیر استفاده کنید محدوده B4:D13 را انتخاب می کند.
محدوده B4:D13 را انتخاب می کند.
توجه: برای اشاره به هر سلول از کاربرگ غیرفعال، از نام کاربرگ قبل از مرجع سلول استفاده کنید.
به عنوان مثال:
Worksheets("Sheet2").[B4:D13]
[ همان روشهای 1، 2، و 3 ] .
مشابه مطالب خوانده شده:
- نحوه قفل کردن سلول در فرمول اکسل (2 روش)
- میانبر مرجع مطلق سلول در اکسل (4 مفید) مثال ها)
- چگونه یک سلول را در فرمول اکسل ثابت نگه داریم (4 روش آسان)
- استفاده از مراجع سلولدر فرمول اکسل (3 روش)
5. به یک محدوده نامگذاری شده در VBA در اکسل مراجعه کنید
می توانید به یک محدوده نامگذاری شده با VBA در اکسل مراجعه کنید.
بیایید نامگذاری کنیم محدوده B4:D13 کاربرگ فعال به عنوان فهرست_کتاب.
اکنون میتوانیم به این محدوده نامگذاری شده توسط خط کد:
Range("Book_List")
کد زیر محدوده Book_List ( B4:D13 ).
محدوده Book_List را انتخاب می کند.
توجه: برای دسترسی به هر سلول از کاربرگ غیرفعال، از نام کاربرگ قبل از مرجع سلول استفاده کنید.
به عنوان مثال:
Worksheets("Sheet2").Range("Book_List")
[ همان روشهای 1، 2، 3 و 4 ] .
6. به چند محدوده در VBA در اکسل مراجعه کنید
همچنین می توانید به چندین محدوده در VBA در اکسل مراجعه کنید.
برای دسترسی به محدوده B4: D5 ، B7:D8 ، و B10:D11 ، از:
Range("B4:D5,B7:D8,B10:D11")
استفاده کنید
چندین محدوده را با هم انتخاب می کند.
همچنین، می توانید از ویژگی Union استفاده کنید. از VBA برای دسترسی به چندین محدوده با هم.
Union(Range("B4:D5"), Range("B7:D8"), Range("B10:D11"))
یا می توانید به چندین محدوده نامدار با هم دسترسی داشته باشید.
Range("Named_Range_1,Named_Range_2")
همچنین، نام کاربرگ را در مقابل کاربرگهای غیرفعال قرار دهید.
به عنوان مثال:
Worksheets("Sheet2").Range("B4:D5,B7:D8,B10:D11")
<[ همانند روشهای 1، 2، 3، 4 و 5 ]
7. به سطرها و ستون ها در VBA در اکسل مراجعه کنید
می توانید به یکی نیز مراجعه کنیدیا چند ردیف یا ستون در VBA در Excel.
برای دسترسی به ردیف 4 ، از:
Rows (4)
<استفاده کنید 1>
کل ردیف 4 را انتخاب می کند.
به طور مشابه، ستون ها (4) به کل ستون 4 دسترسی خواهد داشت.
و برای دسترسی به چندین ردیف یا ستون با هم، از ویژگی Union VBA<استفاده کنید. 2>.
برای دسترسی به ردیف های 4، 6، 8، و 10 با هم، از:
Union(Rows(4), Rows(6), Rows(8), Rows(10))
استفاده کنید
کل ردیفهای 4، 6، 8 و 10 را انتخاب میکند.
توجه: در صورت غیرفعال بودن کاربرگ جلو، نام کاربرگ را اضافه کنید.
به عنوان مثال:
Worksheets("Sheet2").Rows (4)
[ همان روش 1، 2، 3، 4، 5، و 6 ]
8. به کل کاربرگ در VBA در اکسل مراجعه کنید
در نهایت به شما نشان خواهم داد که به کل کاربرگ مراجعه کنید. برای دسترسی به کل کاربرگ در VBA ، از:
Cells
یا برای مراجعه به کاربرگ غیرفعال استفاده کنید (به عنوان مثال، Sheet2 )، استفاده کنید:
Worksheet("Sheet2").Cells
کل کاربرگ Sheet2 را انتخاب می کند.
محتوای مرتبط: آدرس سلولی نسبی و مطلق در صفحه گسترده
چیزهایی که باید به خاطر بسپارید
- برای دسترسی به یک یا چند سلول از کاربرگ فعال، میتوانید نام کاربرگ را در جلو ذکر کنید یا خیر، اما برای دسترسی به سلولهای یک کاربرگ غیرفعال، باید نام کاربرگ را در آن ذکر کنید. جلوی مرجع سلول.
- حتی شما هم می توانیدبه سلولهای یک کتاب کار غیرفعال در VBA دسترسی پیدا کنید، در این صورت، باید هم نام کتاب کار و هم نام کاربرگ را در جلوی مرجع سلول ذکر کنید.
نتیجه گیری
با استفاده از این روش ها، می توانید به هر مرجع سلولی با VBA در اکسل مراجعه کنید. آیا هیچ سوالی دارید؟ از ما بپرسید.