投稿日 | : 2004/06/11(Fri) 10:15 |
投稿者 | : Tom |
Eメール | : |
URL | : |
タイトル | : Re^2: Excelのシートのコピーについて |
お返事ありがとうございます。
できました(^^
> Workbook.VBProject.VBComponents.Item(i).CodeModule
> で行単位の削除はやったことありますが…結構手間が掛かりました。
上記の表記はExcelのHelpに載ってないんですね(^^;
色々調べて下記記述で出来ましたので載せておきます。
Dim lngLS As Long
Dim lngLC As Long
Const strProc As String = "Command1_Click" 'コピー対象のプロジャージ
With ThisWorkbook.VBProject.VBComponents("Sheet1")
'プロジャージの開始行と行数
lngLS = .CodeModule.ProcBodyLine(strProc, 0)
lngLC = .CodeModule.ProcCountLines(strProc, 0)
'[Sheet1]に指定のプロジャージが無い場合はコピー不可
If lngLS = 0 Then Exit Sub
ThisWorkbook.VBProject.VBComponents(Sheets(Sheets.Count).CodeName).CodeModule
.InsertLines 1, .CodeModule.Lines(lngLS, lngLC)
'Sheets(Sheets.Count).NameでなくCodeNameで指定してください
End With
どなたかのお役に立てれば幸いです(^^
ありがとうございました。