VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 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

どなたかのお役に立てれば幸いです(^^
ありがとうございました。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -