PDA

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



gh.pa
2020/05/07, 10:27
با سلام
کد های زیر مربوط به یک دکمه ی جستجو هست و خطا میده هنگام اجرا. امکانش هست کسی بهم بگه نقش متغیر i و j چی هست و خط 10 را بهم گه چی هست و جکار میکنه؟
عکس 2 کد ها و عکس 3 خطا هست

iranweld
2020/05/07, 10:54
تا فایل شما نباشه قابل بررسی نیست

gh.pa
2020/05/07, 12:39
فایل اصلی حاوی اطلاعات محرمانه هست و حجم سنگینی داره و امکان حذف اطلاعات و بارگذاری نیست اما من فایل مشابه را ارسال میکنم .دراین فایل مشابه، کد دکمه ی جستجو به درستی کار میکنه و من این کدهارو کپی کردم و در فایل اصلی در یک ماژول ذخیره کردم و یکم تغییرش دادم مثلا در فایل مشابه جستجو از ستون 3 صورت میگیره اما من در فایل اصلی خودم میخوام از ستون 4 باشه بعد از اینکه تغییراتی دادم خطا میده و درست اجرا نمیشه
اگر کسی فقط بهم بگه خط به خط این ماژول چه کاری میکنه خودم متوجه میشم کجا اشتباه کردم...
فایل اکسل زیر فایل مشابه هست و عکس مربوط به فایل اصلی هست

iranweld
2020/05/08, 10:06
از بین این همه ماکرو موجود در فایل شما ، کدام شماره ماکرو هستش؟

gh.pa
2020/05/09, 08:57
ماژول 51 . یعنی ماژول دکمه ی جستجو مد نظر من هست

iranweld
2020/05/09, 10:44
ماژول 51 . یعنی ماژول دکمه ی جستجو مد نظر من هست

این کد خلاصه شده را تست کنید


Sub Button115_Click()

If Sheet5.Range("m2") = "" Then
MsgBox "áØÝÇ äÇã ÔÑ˜Ê ÑÇ ÏÑ ˜ÇÏÑ ÂÈí ÊÇí ˜ÑÏå íÇ Âä ÑÇ ÇÒ áíÓÊ ˜Ôæíí ÇäÊÎÇÈ ˜äíÏ"
Else

Sheet21.Range("a3", "k600") = ""


z2 = Sheets("sheet21").Cells(Rows.count, 1).End(xlUp).Row + 1
If z2 < 3 Then z2 = 3

Sheets("sheet21").Range("a3:k" & z2).ClearContents


lastrow = Sheets("sheet5").Cells(Rows.count, 1).End(xlUp).Row

For x = 3 To lastrow

If Sheets("sheet5").Cells(x, 3) = Sheets("sheet5").Range("m2") Then

z2 = Sheets("sheet21").Cells(Rows.count, 1).End(xlUp).Row + 1

If z2 < 3 Then z2 = 3

Sheets("sheet21").Cells(z2, 1) = Sheets("sheet5").Cells(x, 1)
Sheets("sheet21").Cells(z2, 2) = Sheets("sheet5").Cells(x, 2)
Sheets("sheet21").Cells(z2, 3) = Sheets("sheet5").Cells(x, 3)
Sheets("sheet21").Cells(z2, 4) = Sheets("sheet5").Cells(x, 4)
Sheets("sheet21").Cells(z2, 5) = Sheets("sheet5").Cells(x, 5)
Sheets("sheet21").Cells(z2, 6) = Sheets("sheet5").Cells(x, 6)
Sheets("sheet21").Cells(z2, 7) = Sheets("sheet5").Cells(x, 7)
Sheets("sheet21").Cells(z2, 8) = Sheets("sheet5").Cells(x, 8)
Sheets("sheet21").Cells(z2, 9) = Sheets("sheet5").Cells(x, 9)
Sheets("sheet21").Cells(z2, 10) = Sheets("sheet5").Cells(x, 10)
Sheets("sheet21").Cells(z2, 11) = Sheets("sheet5").Cells(x, 11)

End If

Next x

Sheet21.Activate
Sheet5.Range("m2").ClearContents

End If
End Sub

gh.pa
2020/05/09, 14:35
عالی عالی ممنون مهندس
فقط یک ایراد داره اونم اینکه وقتی اجراش میکنم از بین ردیف ها در شیت 5 جستجو را انجام میده اما به عنوان نتیجه فقط بعضی هاشو به شیت 21 منتقل میکنه.یعنی اگر ماهان فرز را سرچ کنه از 10 ردیفی که مربوط به ماهان فرز هست فقط 7تاشو نمایش میده به عنوان نتیجه در شیت21 نه همه ی 10 ردیفش را.

iranweld
2020/05/10, 09:13
عالی عالی ممنون مهندس
فقط یک ایراد داره اونم اینکه وقتی اجراش میکنم از بین ردیف ها در شیت 5 جستجو را انجام میده اما به عنوان نتیجه فقط بعضی هاشو به شیت 21 منتقل میکنه.یعنی اگر ماهان فرز را سرچ کنه از 10 ردیفی که مربوط به ماهان فرز هست فقط 7تاشو نمایش میده به عنوان نتیجه در شیت21 نه همه ی 10 ردیفش را.

احتمالا نحوه نوشتن جملات مشابه یک آیتم فرق میکند یا سلول دارای یک اسپیس اضافه در انتهای کلمات میباشد.

20908