Ich habe hier auf stackoverflow viele verschiedene Lösungen überprüft, aber keine funktionierte für mich.Fehler 1004 verursacht durch =?
Wenn ich einen Wert wie "1" einfüge, funktioniert alles, aber wenn ich versuche, meine Formel einzufügen, bekomme ich immer einen Laufzeitfehler. Hat jemand eine Erklärung? Wäre sehr dankbar für jede Hilfe!
Sub test()
Dim cell As Excel.Range
Dim wsWithSheetNames As Excel.Worksheet
Dim wbToAddSheetsTo As Excel.Workbook
Set wsWithSheetNames = ActiveSheet
Set wbToAddSheetsTo = ActiveWorkbook
For wsname = 1 To 254
For Each cell In wsWithSheetNames.Range("A" & wsname)
With wbToAddSheetsTo
.Sheets.Add After:=.Sheets(.Sheets.Count)
On Error Resume Next
ActiveSheet.Name = cell.Value
wsname2 = cell.Value
If Err.Number = 1004 Then
Debug.Print cell.Value & " already used as a sheet name"
End If
On Error GoTo 0
End With
Next cell
Worksheets("Sheet1").Range("B1", "B1735").Copy
Worksheets(wsname2).Range("A2")
(HERE IS THE PROBLEM!)Worksheets(wsname2).Range("B2:AGR1736").FormulaLocal =
"=IFERROR(VLOOKUP($A2,OFFSET([final.xlsb]" & CHr(34) & wsname2 & Chr(34) & "!$A$1:$D$2000,0,
(COLUMN(A2)*4-4)),4,0),"")"
Next wsname
End Sub
EDIT: verändert die Zeile:
Worksheets(wsname2).Range("B2:AGR1736").FormulaLocal =
"=IFERROR(VLOOKUP($A2,OFFSET([final.xlsb]" & wsname2 & "!$A$1:$D$2000,0,
(COLUMN(A2)*4-4)),4,0)," & Chr(34) & Chr(34) & ")"
Wenn ich die "=" der Code nicht schreiben funktioniert gut, warum ist es nicht mit dem "=" zu arbeiten?
Wenn Sie das Zeichen = setzen, wird der Text als eine Formel interpretiert und Excel wird es ausführen und in Ihrem Fall findet Excel einen Fehler mit Ihrer Formel daher den Fehlercode 1004. Wenn Sie nicht setzen = das Zeichen, den Text wird als Text betrachtet und dies wird kein Problem geben. Verwenden Sie es als Grundlage, um den Fehler in der Formel zu verfolgen. – h2so4