ورود

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : ایجاد یک combobox با لیست متغیر



aty313
2015/01/05, 17:20
با سلام و خسته نباشبد
من یک فرم دارم با کلید combobox که لیست داخل آنبه یک محدوده متغیر از شیت 1 مربوط می شود به طور مثال ابتدا به سلولهای A1 تا A4 مرتبط است و در صورتی که کاربر در A5 نیز اطلاعاتی وارد کرد باید محدوده combobox به A1 تا A5 تغییر کند این عمل را با دستور زیر نوشتم اما خطا می دهد.

ComboBox1.RowSource = "sheet1!Range(Cells(1, 1), Cells(4, 1))"

سوال دیگرم هم این است که آیا می توان اطلاعات را از چند اکسل جداگانه استخراج و وارد یک اکسل جدید نمود؟ و آیا دوستان مرجع خوبی برای آموزش طراحی فرم در اکسل می شناسند تا به بنده معرفی نمایند؟ لطفا من را راهنمایی کنید.
لطفا اینو هم بفرمایید چرا موقع فرستادن سوال مدام پیغام "

پیامی که شما ارسال کردین خیلی کوتاه است. لطفا" اندازه 3 کارکتر پیامتان را بیشتر کنید.

" را می دهد؟

وای وای وای خسته شدم اینقدر امتحان کردم سوالم اسال بشه

majid_mx4
2015/01/05, 23:24
دوست عزیز
جواب سوال اولتان را در فایل پیوست بررسی نمایید.
در مورد سوال دومتان بله حتما میشود ،

بیشتر دوستانی که در این مورد سوال دارند همیشه فقط میگویند که میخواهند انتقالی از یک شیت یا چند شیت صورت بگیرد ولی این انتقال بصورتهای مختلفی انجام میشوند و دستورات آن در بعضی از قسمت های آن کاملا فرق میکند.
مثلا میخواهید که از دو کاربرگ باز که توسط یوزر باز شده این انتقال انجام پذیرد یا اینکه یک فایل واسط اینکار را بین کاربرگها در حالت باز و یا در حالت بسته بودن فایلها انجام دهد و یا یکی از فایلها باز باشد و انتقال توسط آن انجام پذیرد دستوراتی کاملا متفاوت دارند

پس بهتر از قبل از جستجو کاملا مشخص باشد که دنبال چه نوع دستوراتی هستید. منابع آن هم از این سایت که بسیار پر بار است و هم از سایت های مشابه ایرانی دیگر و یا از سایت های خارجی مانند http://www.mrexcel.comو یا www.ozgrid.com (http://www.ozgrid.com/) که سایتهای معتبری هستند استفاده نمایید.

با تشکر میر

abootorab
2015/01/06, 00:05
با سلام و خسته نباشبد
من یک فرم دارم با کلید combobox که لیست داخل آنبه یک محدوده متغیر از شیت 1 مربوط می شود به طور مثال ابتدا به سلولهای A1 تا A4 مرتبط است و در صورتی که کاربر در A5 نیز اطلاعاتی وارد کرد باید محدوده combobox به A1 تا A5 تغییر کند این عمل را با دستور زیر نوشتم اما خطا می دهد.

ComboBox1.RowSource = "sheet1!Range(Cells(1, 1), Cells(4, 1))"

سوال دیگرم هم این است که آیا می توان اطلاعات را از چند اکسل جداگانه استخراج و وارد یک اکسل جدید نمود؟ و آیا دوستان مرجع خوبی برای آموزش طراحی فرم در اکسل می شناسند تا به بنده معرفی نمایند؟ لطفا من را راهنمایی کنید.
لطفا اینو هم بفرمایید چرا موقع فرستادن سوال مدام پیغام "

پیامی که شما ارسال کردین خیلی کوتاه است. لطفا" اندازه 3 کارکتر پیامتان را بیشتر کنید.

" را می دهد؟

وای وای وای خسته شدم اینقدر امتحان کردم سوالم اسال بشه

با درود
درباره سوال اولتون از این روش هم میتونید استفاده کنید که یک محدوده را با یک نام در شیت مورد نظرتون تعریف کنید و سپس در قسمت جزئیات ComboBox برای گزینه RowSource نام محدوده تعریف شده رو وارد کنید.
جهت تعریف محدوده متغیرتون ابتدا تب FORMULAS رو انتخاب کنید و سپس روی Name Manager کلیک کرده سپس از پنجره باز شده روی کلید New کلیک کنید و در قسمت Name یک نام دلخواه (مثلا list) وارد کنید و بعد در قسمت Refers to این فرمول رو وارد کرده و ok کنید تا محدوده شما به صورت متغیر تعریف شود:



=OFFSET(Sheet1!$A$1;1;0;COUNTA(Sheet1!$A:$A);1)


در صورتیکه بخواهید ComboBox شما بصورت آنی تغییر کند این کد نیز در محیط vb وارد کنید:




Private Sub ComboBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
ComboBox1.RowSource = "list"
End Sub