2016-05-16 4 views
0

ThisWorkbookコードまたは別のモジュールでコードが記述されていて別のシートで動作する場合は、 "Workbook_SheetChange"を使用する方法を見つけようとしています。 シートは別のマクロで作成され、データはアップロードされ、別々に処理されますが、作成するシートの枚数はわかりません。 "Workbook_SheetChange"を使用できる方法はありますか: - コードが別のモジュール に書き込まれている場合、または新しいシートが作成されたときに自動的にコードをコピーします。新しいシートコードにVBAコードを追加する

+2

可能性のある複製http://stackoverflow.com/questions/15082722/adding-code-to-new-excel-sheet-dynamically – Spidey

+0

あなたが何をしているのかわからない - すべてで動作する変更イベントのように聞こえるシート? Thisworkbookモジュールの 'Workbook_SheetChange'イベントにコードを追加するだけで、あなたが求めているように聞こえるようになります。例えばこのコードをThisWorkbookモジュールに追加します: 'Private Sub Workbook_SheetChange(ByVal Sh As Object、ByVal Target as Range):MsgBox Sh.Name&" "&Target.Address:End Sub' - あなたが_any_シート上の値を変更するたびに、シート名とセルアドレスを教えてください。 –

答えて

0

これはAdding code to new excel sheet dynamicallyの複製であることに同意しますが、まだ説明が必要な場合があります。

VBAでは、ワークシートの変更ごとにWorkbook_SheetChangeイベントが発生します。これはよりもはるかに優れています

Private Sub Workbook_SheetChange(ByVal Sh As Object, _ 
ByVal Source As Range) 
If ActiveSheet.Name = "Sheet1" then 
    'Do one thing 
Else 
    'Do another 
End If 
End Sub 

:あなたは2つの異なる手順を実行したいのであれば、あなたのような何かを行うことができます「コードを書き込み、書き込みコード。」

新しいワークブックを作成する場合は、難しくなります。必要な場合はお知らせください。

+0

@MacroMan ...あなたは絶対に正しいです、そして私は絶対に間違っています!私が言ったことは、_Access_については真実ですが、Excelについては真実ではありません。誰も私の間違ったアドバイスに耳を傾けないように編集する! –

+0

@ C.White害はありません:) –

+0

ありがとうございました。すべての回答ありがとうございますが、コードが「Worksheet_」の特定のシートコードに含まれていれば完全に動作しますが、ブックブックのコードでは、 t。私は何度かエラーが出るか、何もしません。実行時エラー-2147417848(80010108)メソッド '_workheet'オブジェクトの 'Cells'が失敗しました –

関連する問題