Excel VBA質問箱 IV

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

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


1655 / 13646 ツリー ←次へ | 前へ→

【72822】シートをコピーして別のブックに保存 ume 12/9/22(土) 9:16 質問[未読]
【72834】Re:シートをコピーして別のブックに保存 12/9/24(月) 7:08 発言[未読]
【72866】Re:シートをコピーして別のブックに保存 ume 12/9/26(水) 9:40 質問[未読]

【72822】シートをコピーして別のブックに保存
質問  ume  - 12/9/22(土) 9:16 -

引用なし
パスワード
   いつもお世話になります
シートをコピーして別のブックに保存したいのですが、上書き保存ではなくてシートを追加していきたい感じです

ブック名がTextBox7.Value + "邸 FAX送信のご案内"になりまして
シート名がSheets(ComboBox2.Value)でコンボボックスには11種類の項目が格納されています(今後増えるかもしれません)
この11種類のシートを一つのブックに追加して保存できますでしょうか
よろしくお願い申し上げます


Private Sub CommandButton3_Click()
    
    Sheets("FAX送信のご案内").Select

    Dim 既定ファイル名 As String
    Dim 保存ファイル名 As Variant
    
    
    既定ファイル名 = TextBox7.Value + "邸 FAX送信のご案内"
    保存ファイル名 = Application.GetSaveAsFilename(既定ファイル名, "Excel ブック(*.xls),*.xls")
    
    If 保存ファイル名 = False Then
    
    MsgBox "保存は中止されました。"
    Else
    
    With ThisWorkbook.ActiveSheet
    Workbooks.Add Template:=xlWBATWorksheet
    .Cells.Copy ActiveSheet.Range("A1")
    ActiveSheet.Name = ComboBox2.Value
    Sheets(ComboBox2.Value).Move after:=Sheets(Sheets.Count)
    ActiveWorkbook.SaveAs 保存ファイル名, xlNormal
    
    
    ActiveWorkbook.Close False
    
    End With
    
    Sheets("FAX送信のご案内").Select
    Range("A1").Select
    
    MsgBox "FAX送信のご案内を作成しました。"
    End If

End Sub

【72834】Re:シートをコピーして別のブックに保存
発言    - 12/9/24(月) 7:08 -

引用なし
パスワード
   umeさん、こんにちは。

> できますでしょうか
はい、できると思いますよ。
「できるように、できるように」考えていけば、できると思いますね。

思うに、シートのコピーができて コンボボックスのリストが取得できれば
できるんじゃないですか?
この2つだけでは「できる」に十分でないと思われますか?


シートのコピーは、手作業でもできるのだから、もちろんVBAでもできるでしょう。
マクロの記録をとれば、コードの書きかたも分かります。

コンボボックスのリストは、、、、そうですねぇ、、、
  変数 = コンボボックス・リスト とか
  変数 = コンボボックス・リスト(1) とかで
取れるんじゃないでしょうか。確かめてみていただけますか。


※いやいや、シートのコピー自体はもうできてて 分からないのは別のこと
 いうことでしたら失礼しました。その場合はどこでひっかかっているのか
 具体的に教えて下さい。

【72866】Re:シートをコピーして別のブックに保存
質問  ume  - 12/9/26(水) 9:40 -

引用なし
パスワード
   佳さん ありがとうございます

シートをコピーして(既定ファイル名 = TextBox7.Value + "邸 FAX送信のご案内")の名前で新規ブックとして保存しています
(テキストボックス7の中には10種類の名前が格納されています)

シート名はコンボボックス2の中に格納された11種類の名前なのですが
今のままですと、二回目以降は上書きされて初めのシートがなくなってしまいます

シートのみをコピーしていけばいいのですが、二回目以降はブックが既に存在しているので ブックが存在している時と存在していない時の判別の仕方がわからないのでご教授いただけませんでしょうか

よろしくお願いいたします

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