私はここでstackoverflowでさまざまなソリューションをチェックしましたが、どれも私のために働いていませんでした。エラー1004は=ですか?
"1"のような値を挿入するとすべて動作しますが、数式を挿入しようとすると常にランタイムエラーが発生します。誰か説明がありますか?助けてくれてありがとう!
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:
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) & ")"
私が書くいけない場合は、「=」のコード作品だけで罰金、なぜそれが「=」で動作していない:に行を変更?
=記号を入力すると、テキストが数式として解釈され、Excelがそれを実行し、あなたの数式でエラーが見つかるため、エラーコード1004になります。=記号を付けないと、テキストテキストとみなされ、問題は生じません。数式のエラーを追跡するための基礎として使用します。 – h2so4