[[20260221220227]] 『ブックをデスクトップ上に自動で作成したい』(よしお) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『ブックをデスクトップ上に自動で作成したい』(よしお)

ブックをデスクトップ上に自動で作成をこの流れで追加したいのですが
出来ますか?
よろしくお願いいたします。

Sub 報告用_ボタン21_Click()

    Dim sheetNames As Variant
    Dim ws As Worksheet
    Dim wbNew As Workbook
    Dim i As Long

    ' コピーしたいシート名を配列で指定
    sheetNames = Array("報告用", "A棚卸 (仮)", "B棚卸 (仮)")

    ' 新規ブック作成
    Set wbNew = Workbooks.Add

    ' 指定シートを順にコピー
    For i = LBound(sheetNames) To UBound(sheetNames)
        On Error Resume Next
        Set ws = ThisWorkbook.Sheets(sheetNames(i))
        On Error GoTo 0

        If Not ws Is Nothing Then
            ws.Copy After:=wbNew.Sheets(wbNew.Sheets.Count)
        Else
            MsgBox "シート '" & sheetNames(i) & "' が見つかりません。", vbExclamation
        End If
        Set ws = Nothing
    Next i

    ' 最初に自動作成された空シートを削除(複数シートになってから)
    Application.DisplayAlerts = False
    If wbNew.Sheets.Count > 1 Then
        wbNew.Sheets(1).Delete
    End If
    Application.DisplayAlerts = True

    MsgBox "コピー完了", vbInformation
End Sub

< 使用 Excel:Excel2021、使用 OS:Windows11 >


『ブックをデスクトップ上に自動で作成したい』とは保存したいということでしょうか。

(???) 2026/02/22(日) 08:54:00


コードは、
「指定したシートを新しいブックにコピーして、いらない最初の空シートを削除する」
と見えます。

危うい所はありますが、普通に利用するには問題ないと思いますが
何か問題があるのですか?

(????) 2026/02/22(日) 09:20:42


デスクトップのパスを取得する方法がわからないとか?

https://www.excel.studio-kazu.jp/cgi-bin/estindex/estseek2.cgi?phrase=%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97%E3%81%AE%E3%83%91%E3%82%B9&perpage=10&attr=&order=%2540uri+STRD&clip=-1&navi=0

(校内全文検索) 2026/02/22(日) 10:13:57


「エクセル シートだけ保存」のAI回答
Excelで特定のシートだけを保存するには、保存したいシートを新しいブックに移動またはコピーし、その新しいブックを保存します。この方法により、元のブックの他のシートに影響を与えることなく、必要なシートだけを独立したファイルとして管理できます。

シートを別ブックとして保存する手順
1. シートの選択
保存したいシートのタブを右クリックし、「移動またはコピー」を選択します。

2. 移動先の設定
「シートの移動またはコピー」ダイアログボックスで、「移動先ブック名」のドロップダウンリストから「(新しいブック)」を選びます。

3. コピーの作成
元のブックにシートを残したい場合は、「コピーを作成する」にチェックを入れます。チェックを入れないと、元のブックからシートが移動して消えてしまいます。

4. 新しいブックの保存
「OK」をクリックすると、選択したシートだけが含まれる新しいブックが作成されます。この新しいブックを「ファイル」メニューから「名前を付けて保存」で任意の場所に保存します。

注意点
「コピーを作成する」にチェックを入れないと、元のブックからシートが移動します。
コピーしたシートに他のシートを参照する計算式がある場合、新しいブックを開いた際に「更新しない」を選択することをお勧めします。

https://search.yahoo.co.jp/search?p=%E3%82%B7%E3%83%BC%E3%83%88%E3%82%92%E4%BF%9D%E5%AD%98%E3%81%99%E3%82%8B%E3%80%80%E3%83%9E%E3%82%AF%E3%83%AD&x=wrt&aq=-1&ai=4992d71a-1cae-4318-bbf7-90044934c075&ts=6760&ei=UTF-8&fr=top_ga1_sa
(AI回答他) 2026/02/22(日) 13:27:47


■1
>出来ますか?
ここで聞くより、ご自身で試された方が確実だと思います
そういうことを聞きたいのでなければ、〇〇になるはずが△△になってしまうなど、お困りのことを具体的に相談頂くとアドバイス出来ることがあるかもしれません。

■2
私なら

 1.シートの有無をチェックする
 2.コピー対象のシートをまとめて新規ブックへコピー
 3.↑で作成された新規ブックをデスクトップのパスを取得して保存

のように処理するとおもいます。

(もこな2) 2026/02/22(日) 13:49:28


 wbNew.SaveAs Environ("USERPROFILE")&”\Desktop\sample.xlsm"
 wbNew.Close False

 これだけでは?
(Asa) 2026/02/22(日) 21:38:36

 デスクトップの指定方法を色々あるから置いておいて
 ファイルフォーマットって知ってる?
https://vba-create.jp/vba-standard-xlfileformat/#google_vignette

(AI回答他) 2026/02/22(日) 22:29:45


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.