Excel VBA質問箱 IV

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

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


12055 / 76734 ←次へ | 前へ→

【70205】Re:マクロ無しブックの作成時
質問  かかこ  - 11/10/19(水) 15:57 -

引用なし
パスワード
   ▼SS さん:

ありがとうございます。早速コード使わせていただきました。
私が書いたのよりずっと早くて快適なのですが、私の説明が下手だったのかうまくいかないところがありましたので、どこがおかしいかご指導よろしくお願いします。

お示しのコードを参考に以下のように書きました

Private Sub CommandButton17_Click() 
  
Const cnsTITLE = "マクロなしブックの作成"
  Const cnsFILTER = "Excelワークブック (*.xls),*.xls"
  Dim xlAPP As Application
  Dim WBK1 As Workbook         
  Dim WBK2 As Workbook         
  Dim objVBCOMPO As Object
  Dim strFILENAME As String
  Dim lngLines As Long
  Dim i As Integer, j As Integer
  Dim Dic As Variant, WS As Variant
  
  Set xlAPP = Application
  Set WBK1 = ThisWorkbook
  Set Dic = CreateObject("Scripting.Dictionary")
  tblSH = Array("あいう", "あいうえ", "あいうえお", _
        "かきく", "かきくけ", "かきくけこ", _
        "さしす", "さしすせ", "さしすせそ")
                           ・・・問題(1)

  xlAPP.StatusBar = "出力するファイル名を指定して下さい。"
  strFILENAME = xlAPP.GetSaveAsFilename(InitialFileName:="データ年度.xls", _
    FileFilter:=cnsFILTER, Title:=cnsTITLE)
 
  If StrConv(strFILENAME, vbUpperCase) = "FALSE" Then Exit Sub
  If strFILENAME = WBK1.FullName Then
    MsgBox "本ブックとは違うファイル名を指定して下さい。", , cnsTITLE
    GoTo MAKE_NEWBOOK_WO_MACROS_EXIT
  End If
 
    Set WBK2 = ActiveWorkbook       
 
    For i = 1 To UBound(tblSH)
    For j = 1 To 12
      Dic.Add tblSH(i) & j & "月", 1
    Next j
  Next i
 
  'ワークシートの名前確認
  For Each WS In WBK1.Sheets
    If Dic.Exists(WS.Name) Then
      WS.Copy After:=WBK2.Sheets(Sheets.Count)
    End If
  Next WS
  Set Dic = Nothing

  For Each objVBCOMPO In WBK2.VBProject.VBComponents
    With objVBCOMPO.CodeModule
    
      lngLines = .CountOfLines
      If lngLines <> 0 Then .DeleteLines 1, lngLines
    End With
  Next objVBCOMPO

  Dim sh As Worksheet

  For Each sh In WBK2.Worksheets
    For Each objAS In sh.Shapes
      objAS.Delete
    Next
  Next

  WBK2.SaveAs Filename:=strFILENAME
  WBK2.Close False
  Set WBK2 = Nothing
 MAKE_NEWBOOK_WO_MACROS_EXIT:
  Set WBK1 = Nothing
  Set xlAPP = Nothing

Unload Me
End Sub

問題(1) 後ろに1〜12月を付けたいシート(さしすせそ)と、コピーしたいシート(さしすせそ以外)のみ書きましたが全シートコピーされてしまう。
問題(2) 新しく作られたブックを立ち上げると、データのみのはずなのにマクロの警告が出る
問題(3)  新しいブックが保存されて落ちると、本ブックまで落ちる(保存はされません)

以上です。よろしくお願いします。

10 hits

【70167】マクロ無しブックの作成時 かかこ 11/10/18(火) 11:25 質問
【70168】Re:マクロ無しブックの作成時 UO3 11/10/18(火) 12:11 発言
【70170】Re:マクロ無しブックの作成時 かかこ 11/10/18(火) 13:20 お礼
【70174】Re:マクロ無しブックの作成時 かかこ 11/10/18(火) 15:28 質問
【70175】Re:マクロ無しブックの作成時 かかこ 11/10/18(火) 15:50 質問
【70180】Re:マクロ無しブックの作成時 UO3 11/10/18(火) 19:26 回答
【70181】Re:マクロ無しブックの作成時 UO3 11/10/18(火) 19:38 回答
【70193】Re:マクロ無しブックの作成時 かかこ 11/10/19(水) 9:45 お礼
【70197】Re:マクロ無しブックの作成時 SS 11/10/19(水) 11:07 発言
【70205】Re:マクロ無しブックの作成時 かかこ 11/10/19(水) 15:57 質問
【70206】Re:マクロ無しブックの作成時 かかこ 11/10/19(水) 16:09 質問
【70208】Re:マクロ無しブックの作成時 UO3 11/10/19(水) 18:58 回答
【70210】Re:マクロ無しブックの作成時 SS 11/10/19(水) 19:32 回答
【70225】Re:マクロ無しブックの作成時 かかこ 11/10/20(木) 15:19 お礼

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