إذا كانت الخلية تحتوي على سلسلة جزئية، فقم بتغيير قيمة الخلية
سؤال
لدي قائمة بمئات الشركات في عمود.هناك شركات متكررة تم إدخالها بشكل مختلف.(أي."نايكي" مقابل "نايكي إنك")
أحاول برمجة ماكرو في برنامج Excel للتكرار خلال العمود للبحث عن "Nike" وإذا تم العثور عليه فسوف يحل محل ما هو موجود في تلك الخلية إلى اسم شركة ثابت (على سبيل المثال."Nike, Inc.") سيكون الهدف هو إجراء بحث شامل للعديد من الشركات.
وأنا أقدر أي مساعدة!
المحلول
هنا هو مثال على نايك و فورد
Sub Company()
ary = Array("Nike", "Ford")
Dim v As String, i As Long, j As Long
For i = LBound(ary) To UBound(ary)
v = ary(i)
For j = 1 To Cells(Rows.Count, "A").End(xlUp).Row
If InStr(1, Cells(j, "A"), v) > 0 Then
Cells(j, "A") = v
End If
Next j
Next i
End Sub
توسيع آري() كما هو مطلوب.
نصائح أخرى
dim configSht as WorkSheet, compArray() as String, x as Integer
set configSht = thisWorkbook.Sheets("Config")'This identifies your config sheet
redim compArray(0)
for x = 1 to Cells(Rows.Count, "A").End(xlUp).Row
if Cells(x,"A")<>"" then
compArray(UBound(compArray) = Cells(Rows.Count, "A")
End IF
reDim Preserve compArray(UBound(compArray)+1)
Next
هذه فكرة أساسية للغاية.ثم ستستخدم compArray
بدلا من ary
في حل الطالب @ Gary.ستحتوي مصفوفة المقارنة على المعلومات التي تريد أن تقرأها الخلية بعد تشغيل التعليمات البرمجية.لذلك إذا كنت تريد "Nike Inc." لجميع حالات "Nike" ثم "Nike Inc." سيكون في التكوين الخاص بك.
لا تنتمي إلى StackOverflow