複数のワークシートの同じ場所に列を追加するExcelマクロ(ボタン)を作成しています。また、この列には、ダイアログボックスで入力する列ヘッダーが必要です。Excel VBA - 複数のワークシートにテキストと書式設定した新しい列を追加する
各ワークシートには、同じ形式の表が含まれています。唯一の違いはワークシート名です。ここで
私がこれまで持っているものです。
Sub CommandButton2_Click()
Sheets(Array("Sheet1", "Sheet2")).Select
Sheets("Sheet2").Activate
Columns("F:F").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromRightOrBelow
Dim myValue As Variant
myValue = InputBox("Enter Thought Leadership Title", "New Thought Leadership", "XXXXX")
Sheets(Array("Sheet1", "Sheet2”)).Select
Range("F5").Value = myValue
End Sub
これは私が「Sheet1の」の望むまさに私を得ている - 列(F)を追加し、細胞内にダイアログボックスで指定したヘッダ名を入力F5キーを押しながら、書式設定を列のすぐ右にコピーします。しかし、Sheet2(と他のすべての場合、それは簡潔さのために削除されています)は、右から書式をコピーしたり、ダイアログボックスで指定されたテキストを追加することなく、列に追加されます。
初心者のVBA「プログラマー」とここまでのフォーラムを使ってこれまでに得たことがあります。
うまくいけば、私は明確になりました - どんな入力にも感謝します。
シート配列 'シート(配列(0))...とシート(配列(1))'をループすることができます。2つ以上のシートがある場合は、 'For i = 0 To NumberOfWorksheets' –
これは、[.Select'の使用を避けるべき理由の*完全な例です(https://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba -macros)。私は***非常に***それを読んで、あなたのマクロに適用することをお勧めします。その後、あなたが立ち往生している/エラーが出たら、私に知らせてください。 – BruceWayne