aus dem Code würde ich nicht sagen, warum es diesen Fehler zu werfen: "Typen" sind nicht kompatibel.
möchten Sie vielleicht einige Informationen hinzufügen und/oder zeigen Sie Daten, die zu diesem Fehler führen.
Ich würde auch vorschlagen, Tim's Ratschlag zu folgen: Schritt durch Code und Abfrage Variablenstatus. meist können Sie in dem Direkt-Fenster eingeben möchten:
?Range("A" & i).Parent.Name, Range("A" & i).Address, Range("A" & i).Value
?Range("B" & i).Parent.Name, Range("B" & i).Address, Range("B" & i).Value
zu sehen, wo Sie tatsächlich sind (Arbeitsblatt-Adresse) mit dem, was Wert
während als Beitrag zum Code Bitte beachten Sie folgendes:
Verwenden Sie SpecialCells()
Methode von Range
Objekt, um nur relevante Zellen durchzuschleifen - in diesem Fall: Zellen mit einem " Konstante“(d.h .: resultierenden nicht von Formeln) Textwert
Option Explicit
Sub CopyEstabelec()
Dim cell As Range
For Each cell In Range("A10:A1619").SpecialCells(xlCellTypeConstants, xlTextValues)
If cell.Value = "Estabelecimento:" Then cell.Offset(, 26).Value = cell.Offset(, 1).Value
Next cell
End Sub
oder die gleiche, aber mit einem Formel-Ansatz:
Sub CopyEstabelec()
With Range("A10:A1619").SpecialCells(xlCellTypeConstants, xlTextValues).Offset(, 26)
.FormulaR1C1 = "=IF(RC1=""Estabelecimento:"", RC2,"""")"
.Value = .Value '<~~ to keep values instead of formulas
End With
End Sub
Erstens, um den Auftrag überspringen 'b' zusammen. Tun Sie einfach: 'Bereich (" AA "& i) .Wert = Bereich (" B "& i) .Wert". Zweitens, gehen Sie durch den Code, indem Sie 'F8' drücken, um Zeile für Zeile zu laufen und genau zu sehen, welche Zeile den Fehler auslöst. – Tim
Sie können dies auch mit einer Formel in Excel tun. '= IF (A1 =" Estabelecimento: ", AA1 = B1," ")' – newguy