-1
同じセルにvlookup式を配置するマクロを作成しようとしていますが、選択シート範囲のみです(基本的に、ここでは、2つ)は、以下の私のコードです:マクロは、選択セル配列内の同じセルにvlookup数式を配置する
Option Explicit
Sub RenameTest()
For Each aSheet.Array In ActiveWorkbook.Worksheets
aSheet.Array = Sheets(Array("Facility Varian-HM_OH_477417 -", "LTM Income Stat-HM_LA_217368 -") _
).Select
aSheet.Activate
If aSheet.Name <> "Sheet87" Then
Dim lookupvalue As String
Dim formulavalue As String
lookupvalue = Cells(1, 2).Value
formulavalue = "=VLOOKUP(" & lookupvalue & ",'Sheet87'!A2:I200;3;FALSE)"
Cells(1, 4).FormulaLocal = formulavalue
End If
Next aSheet
End Sub
コードを実行しているとき、私は次のエラーを取得する:変数定義されていません。コンパイルエラーが発生しました。これについての洞察は高く評価されます。
を助けている場合、私は知らないaSheetはどこかに定義されていますか? 3行目で最初に使用する前にDimが表示されません。問題ではないと仮定して、デバッガが停止している行を教えてください。 –
コードの先頭に 'Option Explicit'という行を付けて、すべての変数を' Dim'文で宣言する必要があります。たとえば、「Dim aSheet As Worksheet」のようにします。しかし、さらに助けになる前に、コード内のいくつかのことを明確にする必要があります:VLookup式が配置されている各シートまたは1枚の中央シートから取得する参照値ですか? 4行目は何ですか?これは含まれてはならない2枚のシートの名前です。もしそうなら、 'If aSheet.Name <> 'の次の除外は何ですか? – Ralph
@Ralph Sheet87は、実際にルックアップが行われるシートです。問題は、A2のルックアップ値に基づいてA4の各シートに数式を挿入したいという大規模なワークブックがあることです。全体の目標は、間接VBAを使用してすべてのタブの名前を変更するよりも、ワークシートのタブ名が来る方法は暗号化が難しいためです – user3666237