درود دوست عزیز
اینطور که من متوجه شدم شما در ستونی مثلاً B مقادیری دارین که میخواهین چک کنین ببینین هر کدام از سلول های این ستون برابر با یکی از سلول های ستون دیگه مثلاً A هست یا نه. اگر این رو بخواهین یه اشتباه دارین تو کدتون
وقتی از تابع Cells استفاده میکنین، آرگومان اول شماره سطر و آرگومان دوم شماره ستون هست، درحالیکه شما شماره سطر ها رو ثابت و شماره ستون ها رو متغیر در نظر گرفتین (شمارنده حلقه)
فایل نمونه ای گه براتون گزاشتم مقادیر 10 سطر اول ستون های A و B رو قیاس میکنه، میتونین محدوده رو به هر جا که دلتون میخواد تغییر بدین، کافیه
اعداد ثابت جایگزین شن. به این صورت که محدوده سطر هاتون سقف حلقه ها میشن و شماره ستون نمایش نتیجه هم جای عدد سه میاد، 2 و 1 هم ستون هایی که با هم قیاس میشن. متغیر ها رو تغییر ندین.
کد:
Private Sub cmd_Click()
Dim i, j As Integer
For i = 1 To 10
For j = 1 To 10
If Cells(i, 2).Value = Cells(j, 1).Value Then
Cells(i, 3).Value = "TRUE"
Exit For
Else
Cells(i, 3).Value = "FALSE"
End If
Next j
Next i
End Sub
به اضافه اینکه وقتی فایل xlsm یعنی فایل اکسلی که کد VBA داره رو باز میکنین، اکسل پیغامی در یک کادر زرد رنگ بهتون میده با عنوان Security Warning اون رو با دکمه Enable Content فعال کنین، ضمناً قبل از این دکمه هم فایل رو که باز میکنین ممکنه لازم باشه دکمه Enable Editing رو هم بزنین.
====================
یه موضوع دیگه، فکر میکنم بهتر بود به جای ارسال پاسخ به این تاپیک (که مال سه سال پیشه)، خودتون یک سؤال رو شروع میکردین، به نظرم برای همگون بودن با قوانین انجمن عزیز در این مورد از یکی از مدیران گرام مشورت بگیرین، به هر صورت نظر قطعی با اون هاست.
امیدوارم این کد به دردتون بخوره
موفق باشین
علاقه مندی ها (Bookmarks)