إذا كانت الخلية تحتوي على سلسلة جزئية، فقم بتغيير قيمة الخلية

StackOverflow https://stackoverflow.com//questions/25083955

  •  02-01-2020
  •  | 
  •  

سؤال

لدي قائمة بمئات الشركات في عمود.هناك شركات متكررة تم إدخالها بشكل مختلف.(أي."نايكي" مقابل "نايكي إنك")

أحاول برمجة ماكرو في برنامج 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." سيكون في التكوين الخاص بك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top