2016-05-19 3 views
0

Ich bin dabei, ein Makro für Excel zu konvertieren, um unser Inventar von unserem Point of Sale exportieren und in unsere neue eCommerce-Plattform importieren zu können. Der letzte Teil meines Makros trickst mich (da ich kein Profi bei VBA bin), muss ich eine Spalte referenzieren, um den Wert einer Zelle in dieser Spalte zu bestimmen, und dann den Wert einer anderen Zelle in einer anderen Spalte (in der gleiche Reihe). Also, es ist eine Standard-if-Anweisung. Hier ist ein Beispiel für den Code.VBA Macro Runtime Error # 13, können Sie mir helfen, das Problem im Code zu finden?

If Range("F2:F" & Cells(Rows.Count, "F").End(xlUp).Row).Value = "AMP" And Range("G2:G" & Cells(Rows.Count, "G").End(xlUp).Row).Value = "10" Then 
       Range("G2:G" & Cells(Rows.Count, "G").End(xlUp).Row).Replace What:="10", Replacement:="Acoustic Guitar" 
      End If 

So zeigt ein runtime error #13 eine Variable oder Eigenschaft ist nicht vom richtigen Typ. Kann mir jemand helfen, die nicht korrigierte Variable oder Eigenschaft anzugeben? Das hat zunächst für mich funktioniert, hat mir aber jetzt diesen Fehler gemacht. Danke für deine Zeit und vielleicht hast du einen schönen Tag! -Paul

Antwort

0

Ihre IF Anweisung testet einen mehrzelligen Bereich gegen einen einzigen Wert, und das wird fehlschlagen. So wird dies:

Sub dural() 
    If Range("F2:F100").Value = "X" Then 
     MsgBox "X" 
    Else 
     MsgBox "Y" 
    End If 
End Sub 

enter image description here

Wenn Sie suchen möchten, welche Zelle in Spalte F den Wert AMP, dann sollte yo die FIND() Anweisung verwenden.

Verwandte Themen