امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 2
  • 1
  • 2
  • 3
  • 4
  • 5
ترکیب متغیر و نوشته برای آرگومان‌ها در vba اکسل
نویسنده پیام
eppagh آفلاین
كاربر تک ستاره
*

ارسال‌ها: 45
موضوع‌ها: 26
تاریخ عضویت: تير ۱۳۹۳

تشکرها : 5
( 2 تشکر در 2 ارسال )
ارسال: #1
ترکیب متغیر و نوشته برای آرگومان‌ها در vba اکسل
سلام
می‌خوام مثلا برای listbox با لوپ کد بنویسم که خودش به تعداد شیت‌ها نام هر شیت رو در خودش لیست کنه و تا اینجا اومدم:
کد php:
Private Sub Worksheet_Activate()
Dim ShitCunt As Integer
ShitCunt 
Worksheets.Count
Dim i 
As Integer
1
Me
.Listshit.Clear
For 1 To ShitCunt Step 1
   Me
.Listshit.AddItem "Sheet" ii
Next
Me
.Listshit.ListIndex 0
End Sub 
در قسمت لوپ برای آرگومان AddItem می‌خوام ترکیبی از عبارت sheet و شماره‌ای که از متغیر گرفته‌م و توی لوپ انداختم باشه ولی نمی‌شه.
شبیه این کار رو جاهای دیگه هم خواستم بکنم ولی نشد. اگر همه رو داخل دبل‌کتیشن بگذارم نام متغیر تکست خونده میشه؛ اگر نذارم خطا میده؛ اگرم از ترکیبی که می‌بینید استفاده کنم نمی‌شه؛ اینطوری هم کردم نشد: Sheets(i)
بطوری کلی همچینی ترکیبی از متن و متغیر در آرگومان‌های vba ممکنه؟
(آخرین ویرایش در این ارسال: ۳۱-تير-۱۳۹۳, ۱۴:۲۵:۰۶، توسط babyy.)
۳۱-تير-۱۳۹۳, ۱۲:۲۸:۵۸
ارسال‌ها
پاسخ
babyy آفلاین
بازنشسته
*****

ارسال‌ها: 3,095
موضوع‌ها: 141
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #2
RE: ترکیب متغیر و نوشته برای آرگومان‌ها در vba اکسل
در خط:
کد php:
Me.Listshit.AddItem "Sheet" i
اون i دومی واسه چیه؟
تغییرش دادم به کد زیر کار کرد
کد php:
Me.Listshit.AddItem "Sheet" 


و این راه بهترین راه واسه بدست آوردن نام شیت ها نیست!!! اگه اسم شیت رو تغییر داده بودیم چی؟
   
با کد زیر اسم تمام شیت ها رو بدست میاریم:
کد php:
Dim mySheet As Worksheet
    
For Each mySheet In Worksheets
    Listshit
.AddItem mySheet.Name
Next mySheet 
۳۱-تير-۱۳۹۳, ۱۴:۵۹:۴۱
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : رسول, eppagh
eppagh آفلاین
كاربر تک ستاره
*

ارسال‌ها: 45
موضوع‌ها: 26
تاریخ عضویت: تير ۱۳۹۳

تشکرها : 5
( 2 تشکر در 2 ارسال )
ارسال: #3
RE: ترکیب متغیر و نوشته برای آرگومان‌ها در vba اکسل
درسته، متوجه شدم که راه اشتباهیه. به‌جای ساختن اسم شیت باید صداش کنم.
از راهنماییتون متشکرم.

ولی درواقع سوال اصلی این بود که مثلا اگر بخوام یه لوپ بنویسم که در اون آدرس‌دهی رنج به‌صورت A1 رو با متغییر تغییر بدم؛ مثلا به این شکل: Ai و i متغیری باشه هی عوض بشه؛ با توجه به اینکه رنج رو به‌شکل "A1" می‌نویسیم؛ چطور در آرگومان اینچنینی متن رو با متغیر ترکیب کنم؟
(آخرین ویرایش در این ارسال: ۳۱-تير-۱۳۹۳, ۱۶:۰۶:۳۷، توسط eppagh.)
۳۱-تير-۱۳۹۳, ۱۵:۴۴:۳۲
ارسال‌ها
پاسخ
babyy آفلاین
بازنشسته
*****

ارسال‌ها: 3,095
موضوع‌ها: 141
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #4
RE: ترکیب متغیر و نوشته برای آرگومان‌ها در vba اکسل
به جوابی که دادم دقت کنید؛
من ۲ تا جواب دادم خدمتتون!

جواب اولی مربوط به این بودکه یک متغیر و متن ثابت رو ترکیب میکرد

جواب دومی مربوط به اسم شیت‌ها!
۰۱-مرداد-۱۳۹۳, ۰۳:۲۲:۵۳
وب سایت ارسال‌ها
پاسخ
eppagh آفلاین
كاربر تک ستاره
*

ارسال‌ها: 45
موضوع‌ها: 26
تاریخ عضویت: تير ۱۳۹۳

تشکرها : 5
( 2 تشکر در 2 ارسال )
ارسال: #5
RE: ترکیب متغیر و نوشته برای آرگومان‌ها در vba اکسل
منظورتون اینه: Me.Listshit.AddItem "Sheet" & i خطا داد و کار نکرد.
لطفا بفرمایید اسم این کار در vba چیه که بتونم توی منوال اکسل یا آنلاین یا کتاب‌ها پیدا کنم، چون موفق نشدم.
اون i دوم ایندکس اعضای لیست بود که البته نفهمیدم چرا عمل نکرد؛ نه برای ComboBox نه برای ‌ListBox.
ببخشید یه توضیحی درباره خودم بدم؛ بنده قبلا با زبان دیگه کار کرده‌ام که تحت وب بود که مدتی گذشته و متاسفانه فراموش کردم. حالا دارم VBA توی خونه با کتاب یاد می‌گیرم.
۰۱-مرداد-۱۳۹۳, ۱۲:۱۲:۰۱
ارسال‌ها
پاسخ
babyy آفلاین
بازنشسته
*****

ارسال‌ها: 3,095
موضوع‌ها: 141
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #6
RE: ترکیب متغیر و نوشته برای آرگومان‌ها در vba اکسل
(۰۱-مرداد-۱۳۹۳, ۱۲:۱۲:۰۱)eppagh نوشته است: منظورتون اینه: Me.Listshit.AddItem "Sheet" & i خطا داد و کار نکرد.

اسم لیست باکستون رو به Listshit تغییر بدید درست کار میکنه..
۰۱-مرداد-۱۳۹۳, ۱۳:۰۱:۴۰
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : رسول
eppagh آفلاین
كاربر تک ستاره
*

ارسال‌ها: 45
موضوع‌ها: 26
تاریخ عضویت: تير ۱۳۹۳

تشکرها : 5
( 2 تشکر در 2 ارسال )
ارسال: #7
RE: ترکیب متغیر و نوشته برای آرگومان‌ها در vba اکسل
جواب سوالم رو پیدا کردم. برای دیگران اینجا می‌نویسم:
سوال این بود که مثلا داخل این کد چطور می‌شه با ترکیب نوشته و متغیر مقدار داد:
کد php:
Range("A1:C5"

می‌شه عبارت A1:C5 فرضی رو جداگانه با متغیر و نوشته ساخت و بعد م تغیر رو بدون دبل‌کتیشن داخل رنج گذاشت:

کد php:
dim CName As string
CName 
"A1"
dim RName As String
RName 
"C5"
dim RngName As String
RngName 
RName ":" CName
Range
(RngNAme

که در این صورت مانند این خواهد بود که نوشته باشید

کد php:
Range("A1:C5"

از این گذشته متوجه شدم که آبجک Range و Cells دارای Peroperty هستند به نام Name که می‌شود با آن کار کرد.
همچنین در آبجک Cells علاوه بر Name مقدار Row و Column هم دارد.

At باتشکر
(آخرین ویرایش در این ارسال: ۰۸-مرداد-۱۳۹۳, ۱۳:۲۱:۰۷، توسط رسول.)
۰۸-مرداد-۱۳۹۳, ۱۰:۵۷:۱۴
ارسال‌ها
پاسخ
تشکر شده توسط : babyy


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  بستن برنامه اکسل در حال اجرا aleas 1 1,064 ۲۳-شهریور-۱۳۹۸, ۱۷:۲۴:۱۱
آخرین ارسال: Di Di
Shy [فوری] خواندن فایل تکست و تبدیل آن به فایل اکسل توسط CommandButton ahmadelectron 1 3,530 ۰۵-خرداد-۱۳۹۴, ۱۶:۵۲:۲۷
آخرین ارسال: Ghoghnus
  [سوال] مشکل جابجا کردن مقدار متغیر از ThisWorkbook به Worksheet_Change در اکسل eppagh 0 2,200 ۰۸-اسفند-۱۳۹۳, ۲۱:۴۷:۵۴
آخرین ارسال: eppagh
  [سوال] اجرای کد با کلیک روی لینک نوشته در اکسل eppagh 0 2,334 ۰۳-بهمن-۱۳۹۳, ۱۶:۱۹:۰۴
آخرین ارسال: eppagh
  [سوال] به دست آوردن ماکسیمم یا مینیمم مقدار یک رنج اکسل eppagh 3 4,164 ۰۹-دى-۱۳۹۳, ۱۵:۳۲:۳۷
آخرین ارسال: eppagh
Question [سوال] فرم شناور روی شیت اکسل eppagh 0 2,217 ۱۲-شهریور-۱۳۹۳, ۱۴:۲۴:۱۴
آخرین ارسال: eppagh
Question [سوال] کنترل پنجره Save as اکسل eppagh 3 2,806 ۱۳-مرداد-۱۳۹۳, ۱۴:۰۶:۰۰
آخرین ارسال: babyy
Question [سوال] اجرای فرم با button روی شیت اکسل در VBA eppagh 6 10,897 ۰۱-مرداد-۱۳۹۳, ۱۵:۲۴:۳۸
آخرین ارسال: eppagh
  قرار دادن خروجی دستور sql در یک متغیر sepahbod 1 3,971 ۱۶-آذر-۱۳۹۲, ۲۱:۳۳:۳۳
آخرین ارسال: hmiranled
  انتقال تمام اطلاعات dbgrid به اکسل mostafaserial 3 6,845 ۲۲-شهریور-۱۳۹۰, ۱۳:۰۲:۴۶
آخرین ارسال: mostafaserial

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS