2017-05-18 3 views
0

Ich habe eine 7000 Zeile Kalkulationstabelle, die bestimmten Farben eine Nummer zugewiesen sind Ich brauche eine Suchzeichenfolge, um eine bestimmte Farbe des Elements in der E-Spalte zu finden und einzufügen die zugewiesene Nummer in der F-Zelle daneben.Suchen Sie nach Textzeichenfolge in Elementname und fügen Sie zugewiesene Nummer in andere Zelle

Die Objektnamen sind viel länger als die zugewiesene Nummer, aber für alle intensiven Zwecke ist das Ergebnis das gleiche. Die Zahlen sind auf einem anderen Blatt, aber ich kann eine Spalte einzufügen, und fügen sie

Dank

Search for String and apply its code to next cell pic

+0

können Sie die Range.Find Methode verwenden, die einen Bereich zurück, wenn, wenn nicht oder die Funktion INSTR gefunden oder nichts, was eine ganze Zahl gibt die Position bedeutet, wo die Zeichenfolge gefunden wurde oder 0, wenn es nicht gefunden wird. – jivko

Antwort

0

Verwenden Autofilter die gewünschte Ausgabe zu erzielen. Sie können so etwas wie dieses versuchen ...

Sub InsertColorCode() 
Dim ws As Worksheet 
Dim i As Long, lr1 As Long, lr2 As Long 
Dim x 
Application.ScreenUpdating = False 
Set ws = ActiveSheet 
ws.AutoFilterMode = False 
lr1 = ws.Cells(Rows.Count, 1).End(xlUp).Row 
lr2 = ws.Cells(Rows.Count, 5).End(xlUp).Row 
x = Range("A3:B" & lr1).Value 

For i = 1 To UBound(x, 1) 
    With ws.Range("E2:E" & lr2) 
     .AutoFilter field:=1, Criteria1:="*" & x(i, 2) & "*" 
     If .SpecialCells(xlCellTypeVisible).Cells.Count > 1 Then 
      ws.Range("E3:E" & lr2).SpecialCells(xlCellTypeVisible).Offset(0, 1).Value = x(i, 1) 
     End If 
    End With 
Next i 
ws.AutoFilterMode = False 
Application.ScreenUpdating = True 
End Sub 
Verwandte Themen