من یه ستون از داده ها دارم که توش داده های تکراری هس تو محیط اکسل نمیخوام داده ها یونیک بشن می خوام یه فرم بسازم با یه کمبو باکس که از طریق کد نویسی داده های تکراری تشخیص داده بشه و لیستی که نشون داده میشه یونیک باشه
کمبو باکس بدون تکرار
Collapse
X
-
کمبو باکس بدون تکرار
سلام به دوستای عزیز
من یه ستون از داده ها دارم که توش داده های تکراری هس تو محیط اکسل نمیخوام داده ها یونیک بشن می خوام یه فرم بسازم با یه کمبو باکس که از طریق کد نویسی داده های تکراری تشخیص داده بشه و لیستی که نشون داده میشه یونیک باشه[color=#FF0000]در روزگاری که لبخند ادمها بخاطر شکست توست برخیز تا بگریند[/color]برچسب ها: هیچکدام -
RE: کمبو باکس بدون تکرار
سلام
شما باید داده ها رو تو یه ارایه بریزی بعد با دوتا متغیر تو حلقه forاونهارو مقایسه کنی و غیر تکراری هارو تو یه ارایه دیگه ذخیره کنی بعد این ارایه رو به کمبو باکس اضافه کنی[CENTER]
[SIGPIC][/SIGPIC]
[/CENTER] -
[FONT=Tahoma][INDENT][CENTER][SIZE=3][FONT=courier new][B][FONT=comic sans ms][SIZE=3][FONT=arial]دوره های آموزش رایگان اکسل از صفر تا پیشرفته بصورت تصویری
بیش از [COLOR=#008000]60[/COLOR] جلسه آموزش ویدئویی رایگان
شرکت در دوره:
[/FONT][/SIZE]
[SIZE=5] [FONT=Tahoma][FONT=courier new][B][URL]https://javidsoft.ir/courses/[/URL][/B][/FONT][/FONT][/SIZE][/FONT]
[/B][/FONT][/SIZE]
[/CENTER]
[/INDENT]
[/FONT]کامنت
-
RE: کمبو باکس بدون تکرار
با درود فراواننوشته اصلی توسط mahasa shayestehسلام به دوستای عزیز
من یه ستون از داده ها دارم که توش داده های تکراری هس تو محیط اکسل نمیخوام داده ها یونیک بشن می خوام یه فرم بسازم با یه کمبو باکس که از طریق کد نویسی داده های تکراری تشخیص داده بشه و لیستی که نشون داده میشه یونیک باشه
با تشکر از دوست خوبم jansiz hayat ازجواب خوب و کاملشون
این هم یک نمونه برای حذف تکراری از کمبو باکس
Private Sub UserForm_Initialize()
Dim n
Dim c As Range
Dim i As Integer
ComboBox1.AddItem Sheet1.Range("A1").Value
For Each c In Sheet1.Range("A1:A1000")
n = fals
If c.Value <> "" Then
For i = 0 To ComboBox1.ListCount - 1
If ComboBox1.List(i, 0) = c.Text Then
' MsgBox (ComboBox1.List(i, 0)) & "-" & c.Value
n = True
GoTo point1:
End If
Next i
If n = flase Then
ComboBox1.AddItem c.Value
End If
End If
point1:
Next c
End Sub
فایل نمونه:
[attachment=484]فایل های پیوست شده---------------------------------------------------------------------------------------------------
بمانیم تا کاری کنیم ،نه کاری کنیم تا بمانیم [size=x-small](دکتر شریعتی)[/size]
shamsololama@yahoo.com
09177733411کامنت
-
RE: کمبو باکس بدون تکرار
با سلام
روشی که تو فایل ضمیمه آوردم هم روش خوبیهفایل های پیوست شده[CENTER]
[SIGPIC][/SIGPIC]
[/CENTER]کامنت
-
RE: کمبو باکس بدون تکرار
سلام
ممنون از جوابای متنوعی که دوستان دادن ولی جواب آقای وطن پرست رو اصلا نفهمیدم میشه توضیح بدید[color=#FF0000]در روزگاری که لبخند ادمها بخاطر شکست توست برخیز تا بگریند[/color]کامنت
-
RE: کمبو باکس بدون تکرار
تو این روش برای جلوگیری از اشغال بی مورد حافظه ابتدا آدرس آخرین ردیف استفاده شده رو پیدا میکنیم بعد بر اساس اون محدوده مورد نظر در قالب range1 تعریف میشه (از طریق set ) شیء collection این امکان رو میده مجموعه ای از ایتم ها به صورت واحد در بیان یعنی تو یک گروه قرار بگیرن هر کالکشن دو خصوصیت ایتم و کلید داره هر مقدار تو محدوده به عنوان کلید تعریف میشه این کلید ها باید منحصر به فرد باشن اگه نباشن error 457 به وجود میاد با شرط قرار دادن این ارور تکراری ها به کمبوباکس اضافه نمیشن (البته من این بخش یعنی حلقه foreach رو از یه برنامه دیگه استفاده کردم که کار خودم نبوده توضیحاتم برداشت خودم از روش بود اگه اساتید محترم هم نظر بدن ممنون میشم)[CENTER]
[SIGPIC][/SIGPIC]
[/CENTER]کامنت
-
RE: کمبو باکس بدون تکرار
با سلام.
با تشکر از دوست زحمتکشمون آقای وطن پرست.این خیلی خوبه که برای یک سئوال ایده های دیگری هم قرار دهیم.و به خومون نگیم که «چون یکی از دوستان جواب داده دیگه نیازی نیست که من جواب بدم».و این کار آقای وطن پرست قابل تقدیر است که باعث میشه با ایده های مختلفی روبرو شویم.
آقای وطن پرست،لازم نمیدونم ذره بینی به مسئله نگاه کنیم اما اگه قسمت IFرو به صورت زیر بنویسید بهتره.چون اگه بین داده ها سطر خالی باشه،اون سطر خالی رو هم به Combobox اضافه میکنه:
If Err.Number <> 457 And cell.Value <> "" Then
[FONT=Tahoma][INDENT][CENTER][SIZE=3][FONT=courier new][B][FONT=comic sans ms][SIZE=3][FONT=arial]دوره های آموزش رایگان اکسل از صفر تا پیشرفته بصورت تصویری
بیش از [COLOR=#008000]60[/COLOR] جلسه آموزش ویدئویی رایگان
شرکت در دوره:
[/FONT][/SIZE]
[SIZE=5] [FONT=Tahoma][FONT=courier new][B][URL]https://javidsoft.ir/courses/[/URL][/B][/FONT][/FONT][/SIZE][/FONT]
[/B][/FONT][/SIZE]
[/CENTER]
[/INDENT]
[/FONT]کامنت
-
RE: کمبو باکس بدون تکرار
با سلام خدمت اقای وطن پرست عزیزنوشته اصلی توسط vatanparastبا سلام
روشی که تو فایل ضمیمه آوردم هم روش خوبیه
من از این کدی که شما گذاشتین استفاده کردم ولی وقتی که تعداد ردیفهای ما زیاد باشه زمان لود شدن فرم خیلی زیاد طول می کشه
مثلا من برای یه فایلی که 25000 تا ردیف داره تست کردم 21 ثانیه طول میکشه تا فرم لود بشه
راهی هست که این زمان کم بشه
با تشکر[CENTER][COLOR=#ff0000]************************************[/COLOR]
No [COLOR=#32CD32][B]LION's [/B][/COLOR]roar ruins my hut, I afraid of [COLOR=#ff0000][B]TERMITE's [/B][/COLOR]silence
[COLOR=#ff0000]************************************[/COLOR]
[/CENTER]کامنت
-
RE: کمبو باکس بدون تکرار
... Any new updates[CENTER][COLOR=#ff0000]************************************[/COLOR]
No [COLOR=#32CD32][B]LION's [/B][/COLOR]roar ruins my hut, I afraid of [COLOR=#ff0000][B]TERMITE's [/B][/COLOR]silence
[COLOR=#ff0000]************************************[/COLOR]
[/CENTER]کامنت
-
RE: کمبو باکس بدون تکرار
من برای 40000 داده تست کردم خیلی سریع جواب داد به نظرم مشکلت از جای دیگه ناشی میشه[CENTER]
[SIGPIC][/SIGPIC]
[/CENTER]کامنت




کامنت