2017-08-28 14 views
2

VBAコードを書き込むためにVBAを使用しています。最終的には、入力された変数に応じてループを書くためのアルゴリズムを書くことができます。VBAを使用してVBAコードを書き込む方法

私はVBAプロジェクトにコードを追加するように見えますが、動作するために何かが欠けています。これで何かを見つけるのに苦労している。私は 'ThisWorkbook'が問題だと知っています。私がVBAプロジェクトでそのシート(同じ名前)を参照できるようにするためには、何を呼び出す必要があるかについてのアイデア。

おかげ

Option Explicit 

Sub test() 

Dim WB_Write_Code_Test As Workbook 
Dim WS_Test As Worksheet 
Dim nextline As Long 

Set WB_Write_Code_Test = Workbooks.Open("Write Code Test") 

Set WS_Test = WB_Write_Code_Test.Sheets("Test") 

With ActiveWorkbook.VBProject. _ 
VBComponents(ThisWorkbook).CodeModule 

nextline = .CountOfLines + 1 

.InsertLines nextline, WS_Test.Cells(1, 1).Value 
End With 

End Sub 
+1

あなたはその後、VBAモジュールを書き、ブックにインポート、またはそれをコピー/ペーストコンソール内のコードを生成することができます。私はvbaコードを書くためのvbaコードを書くのは良い考えではないと思います...奇妙に思えます。 – exSnake

+0

あなたが持っている特定の失敗は何ですか? 'ThisWorkbook'は' ActiveWorkbook'と同じですか? –

+0

したがって、コードは変数に応じて実行され、コードが追加されます。私はそれをすべて削除し、最後に元のコードに置き換えることができます。 (コードを作成してからコピーアンドペーストしてから実行してもらえませんか?) 具体的な問題は、ThisWorkbookです。このワークブックは、私がコードを書いているVBAプロジェクトシートを参照しています。 ActiveWorkbookはExcelの文書そのものです。 –

答えて

1

おかげで、それはそれを行っています。

参考のために不足しているコードは、次のとおりです。

VBComponents(ThisWorkbook.CodeName).CodeModule 
関連する問題