Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


67409 / 76732 ←次へ | 前へ→

【13880】Re:コマンドボタンの内容変更について
発言  ちゃっぴ E-MAIL  - 04/5/15(土) 17:54 -

引用なし
パスワード
   オブジェクト変数を駆使して修正すると以下のようになります。

ご参考までに・・・

Private Sub Workbook_Open()

  Dim w_シート名     As String
  Dim objButton      As OLEObject
  Dim wbkBook(1 To 2)   As Workbook
  Dim wshTargetSheet   As Worksheet
  
  Application.ScreenUpdating = False   '画面更新の停止
  Application.DisplayAlerts = False    '警告メッセージ非表示
  
  wbkBook(1) = ThisWorkbook
  'ブックオープン
  wbkBook(2) = Workbooks.Open("C:\WINDOWS\デスクトップ\単品.XLS")
  
  'シートコピー
  wbkBook(2).Worksheets("Sheet1").Copy Before:=wbkBook(1).Worksheets(1)
  
  wbkBook(2).Close     'ブッククローズ
  
  With wshTargetSheet
    .Rows("1:5").Insert Shift:=xlDown  '行の挿入
    
    wbkBook(1).Sheets("Sheet3").Range("A1:CL5").Copy _
      Destination:=.Range("A2")    'データのコピー
   
    .Rows(1).RowHeight = 56.25      '行幅調整
    
    'コマンドボタンの挿入
    Set objButton = .OLEObjects.Add _
      (ClassType:="Forms.CommandButton.1", Link:=False, _
        DisplayAsIcon:=False, Left:=108, Top:=14.25, _
        Width:=81, Height:=33.75)
  End With
  
  objButton.Object.Caption = "エラーチェック"  '表示名変更
  
  'マクロの記述
  With wbkBook(1).VBProject.VBComponents.Item("Sheet1").CodeModule
  
    'マクロの 1 行目です。同様に 5 行目まで書き込みます。
    .InsertLines 1, "Private Sub CommandButton1_Click()"
    .InsertLines 2, ""
    .InsertLines 3, " MsgBox ""セルの値が変更されました"""
    .InsertLines 4, ""
    .InsertLines 5, "End Sub"
  End With
  
  wbkBook(1).Save  '保存
  
  オブジェクト変数初期化
  Set wbkBook(1) = Nothing
  Set wbkBook(2) = Nothing
  Set wshTargetSheet = Nothing
  Set objButton = Nothing
  
  Application.DisplayAlerts = True    '確認メッセージ非表示
  Application.ScreenUpdating = True   '画面更新の再開
  
End Sub

ね、シンプルになったでしょ♪

2 hits

【13867】コマンドボタンの内容変更について WAKO 04/5/15(土) 14:27 質問
【13868】Re:コマンドボタンの内容変更について ちゃっぴ 04/5/15(土) 14:55 回答
【13869】Re:コマンドボタンの内容変更について WAKO 04/5/15(土) 15:16 質問
【13873】Re:コマンドボタンの内容変更について ちゃっぴ 04/5/15(土) 16:23 回答
【13874】Re:コマンドボタンの内容変更について WAKO 04/5/15(土) 17:07 質問
【13876】Re:コマンドボタンの内容変更について ちゃっぴ 04/5/15(土) 17:22 回答
【13877】Re:コマンドボタンの内容変更について ちゃっぴ 04/5/15(土) 17:31 回答
【13880】Re:コマンドボタンの内容変更について ちゃっぴ 04/5/15(土) 17:54 発言
【13896】Re:コマンドボタンの内容変更について WAKO 04/5/15(土) 20:59 質問
【13898】Re:コマンドボタンの内容変更について ちゃっぴ 04/5/15(土) 21:59 回答
【13899】Re:コマンドボタンの内容変更について WAKO 04/5/15(土) 22:30 お礼
【13881】Re:コマンドボタンの内容変更について WAKO 04/5/15(土) 17:56 質問
【13884】Re:コマンドボタンの内容変更について ちゃっぴ 04/5/15(土) 18:07 回答
【13885】Re:コマンドボタンの内容変更について WAKO 04/5/15(土) 18:20 お礼
【13886】Re:コマンドボタンの内容変更について WAKO 04/5/15(土) 18:31 質問
【13888】Re:コマンドボタンの内容変更について ちゃっぴ 04/5/15(土) 19:20 回答
【13891】Re:コマンドボタンの内容変更について WAKO 04/5/15(土) 19:30 お礼

67409 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free