• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:指定したセルでファイル名を保存するマクロについて)

マクロで指定したセルの情報をファイル名に保存する方法

このQ&Aのポイント
  • マクロ初心者の方から質問です。A1セルの文字をファイル名にして保存する方法は分かりますが、A1セルとB1セルの文字をファイル名にする方法がわかりません。具体的には、A1セルに企業コード、B1セルに企業名が入力されており、ファイル名を「請求書(企業コード企業名)」とする方法が知りたいです。
  • 実際のマクロでは、A1セルの情報をファイル名に反映させることができますが、B1セルの情報を追加する方法が不明です。具体的には、A1セルに企業コード、B1セルに企業名が入力されており、ファイル名を「請求書(企業コード企業名)」とする方法を教えてください。
  • マクロ初心者の方からの質問です。A1セルとB1セルの情報をファイル名に追加する方法が知りたいです。具体的には、A1セルに企業コード、B1セルに企業名が入力されており、ファイル名を「請求書(企業コード企業名)」とする方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

fname = "C:\保存先\請求書(" & WS.cells(1,1) & WS.cells(1,2) & "様).xls" ですね。

192021
質問者

お礼

早々にご回答ありがとうございます! 教えて頂いたものをコピーして使用したところ 「中断モードでコードを実行することはできません」の エラーメッセージがでてしまいました・・・ カッコや”の位置の問題なのかどうかも分からず、 とりあえずカッコや”だけ 当初のスタイルにしたところ 思ったようにファイル名がつきました。 fname = "C:\保存先\" & ("請求書(") & WS.Cells(1, 1) & WS.Cells(1, 2) & ("様)") & ".xls" 初心者すぎて申し訳ありません。 セル指定の部分をご教授頂きまして大変助かりました。 ありがとうございました!!

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excelのマクロで、セル内の文字をファイル名にしたい

    ”プロト.xls”というExcelファイルの中に、以下の動作をするマクロを作成したいのです。 (1)”C:\顧客\顧客納期連絡.xls”というExcelファイルを開き、  それを”C:\顧客\A.csv”という名前のcsvファイルにする。 (2)”C:\顧客\A.csv”を”xxxxxxxxxxxxxxxxxx”(※注1)という名前にしてコピーする。 ※注1:”xxxxxxxxxxxxxxxxxx”の部分は、”プロト.xls”ファイルのSheet”マスター”のセルD9から取得させる。 そのセルは、 C:\顧客\ABCDEF0215.csv と記述しています。 (3)コピー後、”C:\顧客\A.csv”を削除する。 ------------------------------------------------------------------- Sub 顧客納期連絡() ' ' 顧客納期連絡 Macro ' マクロ記録日 : 2010/2/15 ユーザー名 : xxxxxxx ' ' ChDir "C:\顧客" Workbooks.Open Filename:="C:\顧客\顧客納期連絡.xls" ActiveWorkbook.SaveAs Filename:="C:\顧客\A.csv", FileFormat:=xlCSV, _ CreateBackup:=False ActiveWorkbook.Save ActiveWindow.Close ActiveWorkbook.Save Dim fname1 As String Dim fname2 As String fname1 = "C:\顧客\A.csv" fname2 = Workbooks("プロト.xls"), Sheets("マスター"), Cells("D9") FileCopy fname1, fname2 Kill "C:\顧客\A.csv" End Sub ------------------------------------------------------------------- 上記のマクロを作成したのですが、FileCopyの行で、構文エラーか型に一致していない、 というエラーになりマクロ再生が停止します。 セルの内容をファイル名にしたいのですが、何か良い方法はございませんでしょうか? 私は超初心者なので、何卒宜しくお願い致します。

  • Excel2000マクロ_大量のシート名を楽に変更するマクロ

    何方か、回答を宜しくお願いします。 deta.xls(多数のシートが有る)シート名変換.xls(マクロが書いてある) 上記の2つのファイルが有りますが、やりたいことはdeta.xlsがアクティブの 時にショートカットでマクロAを起動して、シート名変換.xlsの「シート名」と いうシートのA1から下方向にdeta.xlsのシート名を所得する。 そして、マクロ終了後所得したシート名を変えて。 deta.xlsがアクティブの時にマクロBを起動して、「シート名」のA1から下方向に deta.xlsのシート名を変更する。 宜しくお願いします。 下記参考 Sub マクロA() Dim i As Worksheet ThisWorkbook.Worksheets("「シート名」").Columns("A:A").ClearContents '書き込む前にA列のデータをクリア Dim WS As Worksheet For Each WS In Worksheets

  • A1セル入力値をファイル名先頭に追加したい。

    マクロ初心者で色々な事例を組み合わせて次のマクロを 作成しました。 A.xlsを開いて一部加工したファイルをB.xlsで保存し さらに一部を消去しC.xlsで保存するマクロです。 今回、B.xlsおよびC.xlsの先頭にA.xlsのA1セルに入力 された6桁の数字を付加して保存したいのですが・・・。 例えばA1セルが123456の時は 123456B.xls 123456C.xls どなたか教えてください。 現在のマクロ Sub Macro2() Dim strFilePath As String Dim strFileName As String Dim flg As Boolean '◆保存するパスの設定 strFilePath = ThisWorkbook.Path & "\" '◆保存するファイル名の指定 strFileName = "B" On Error Resume Next Workbooks(strFileName).Activate ThisWorkbook.SaveAs strFilePath & strFileName '◆個人情報消去 Range("D42:E49").Select Selection.ClearContents Range("d1").Select strFileName = "C" ThisWorkbook.SaveAs strFilePath & strFileName Application.Quit End Sub

  • エクセルでセル値をファイル名にして保存しようと思っています。

    エクセルでセル値をファイル名にして保存しようと思っています。 エクセル2003では以下の方法でセル値を取得して保存しています。 'Cell値を取得 strName2 = Sheets("#######").Range("A1").Value strName3 = Sheets("*******").Range("B2").Value 'strName2の値が空の場合、現在のブック名を代入 If strName2 = "" Then strName = ThisWorkbook.Name 'セル値の結合 sName = strName3 + strName2 '名前を付けて保存] ダイアログ ボックスを表示 fName = Application.GetSaveAsFilename(InitialFileName:=sName, fileFilter:="Excel(*.xls), *.xls") 'ファイル名を取得したら保存 If fName <> False Then ActiveWorkbook.SaveAs fName 同様の操作を2007以降で「マクロを有効にして保存」を行いたいのですが、どの様にすればいいのでしょうか? (自動保存では以下の様になる状態の事です。) ActiveWorkbook.SaveAs Filename:="#:\*******.xlsm", FileFormat:= _ xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False 2007の時の「'名前を付けて保存] ダイアログ ボックスを表示」の方法が分かりません。 共通の命令文では出来でしょうから、最終的にはエクセルのバージョンを取得して、IFで分岐させようと思っています。 宜しくお願い致します。

  • Excelで指定したフォルダに保存するマクロ

    Excel2003で、シートをコピーし別ファイルとして保存したいのですが 保存先のフォルダがネットワーク上にあります。 ファイル名は、指定したセルの値で保存されるようにします。 以下の記述でマクロ実行すると、シートは別ファイル(BOOK1)としてコピーされ ます。 名前をつけて保存ダイアログが開きますが、そのときにマイドキュメントが開き ます。 Private Sub CommandButton1_Click() ActiveSheet.Select ActiveSheet.Copy Dim Sname As String, Fname As Variant, Folname As String Folname = "ネットワーク上フォルダのフルパス" Sname = Range("O46").Value If Sname = "" Then Sname = ThisWorkbook.Name Fname = Application.GetSaveAsFilename(InitialFileName:=Sname, fileFilter:="Excel(*.xls), *.xls") If Fname <> False Then ActiveWorkbook.SaveAs Fname End Sub そもそもネットワーク上のフォルダを指定することはできないのでしょうか? マクロに関してはずぶの素人で、上記の記述は過去の質問などを参考に作成しま したので どこかに間違いがあるのかも知れませんが、間違いを特定することができません。 お手数おかけし申し訳ありませんが、ご教示のほどよろしくお願いします。 補足として、保存する際にダイアログを開きたい理由は以下の通りです。 ・保存先誤り防止(作業者が多数いて、使用するPCも違うため) ・ファイル名誤り防止(同じファイル名が存在しないかどうか確認)

  • Excelで任意のセルのデータをファイル名に追加して上書き保存するマクロ

    Excelのブックが300個ほどあります。 現在アルファベット4文字のファイル名がついています。 このブックを1つずつ開き、任意のセル(ブックごとに異なる)を選択後ホットキーでマクロを起動し選択したセルの内容をもともとのファイル名に追加して名前を付けて保存したいのです。 例) 元のファイル名:bgf.xls 選んだセル:A4 A4の内容:あいうえお 新しく保存するファイル名:あいうえおbgf.xls 環境はwin2k、Excel2kです よろしくお願いします。

  • pdf印刷時に登録ファイル名の確認を無効化したい

    excel2010 TESTフォルダ内にある。全てのexcelフィルをcutepdfwriterでpdfファイル化しようとしています。 マクロ Sub test() Application.DisplayAlerts = False Dim Fol As String Dim Fname As String Dim Ws As Worksheet Fol = "C:\test" Fname = Dir(Fol & "\*.xlsm") Do While Fname <> "" If Fname <> ThisWorkbook.Name Then Workbooks.Open Fol & "\" & Fname For Each Ws In Worksheets Ws.PrintOut Next Workbooks(Fname).Close SaveChanges:=False End If Fname = Dir() Loop End Sub で実施するとファイルを開いてpdfファイルを作成可能なのですが、 各々のファイルに対して、名前をつけて保存 ファイル名.pdf と聞いてきます。 その都度、保存というボタンをクリックする必要があり、 大量のファイル実施時、手間です。 なお、cutepdfwriterを通常使うプリンタに設定しています。 この保存というボタンをクリックしないで、ファイル名をそのままでpdfファイル化する方法は、 ありますでしょうか?

  • VBA 名前を付けて保存の方法について

    VBAのコードにて名前を付けて保存のやり方ができません。 現在開いているファイルを 名前を付けて保存したいのですが ファイルの指定方法が間違っているのか保存できません。 やりたいこと 現在開いているファイル内のシート(設定画面)の A1セルとA2セルの文字を "G:¥●エクセル¥ソフト¥計画"のドライブにて 保存する(A1セルとA2のセルの文字をくっつけて名前を付けて保存したい) 例:元のbook1のファイル名をA1セルとA2セルの文字をくっつけた   名前にしてから保存したい。 保存先のドライブの指定方法が分からなかったため マクロの記録にてそのドライブへ名前を付けて保存してみて ドライブの名前の指定をしました。(この方法も間違っていますか?) コードを下記に記載しています。 すいませんがうまく動くコードを記載してもらえると 助かります。 回答よろしくお願いします。 Sub macro1() Dim wb As Workbook Dim ws As Worksheet Dim hozonPath As String Dim FolName As String Dim FilName As String Set wb = ThisWorkbook Set ws = Worksheets("設定画面") hozonPath = "G:¥●エクセル¥ソフト¥計画" FolName = ws.Range("A1").Value FilName = ws.Range("A2").Value wb.SaveAs fileName:=hozonPath & FolName & "¥" & FilName End Sub

  • エクセルのマクロについて

    エクセルで写真帳を作成してるのですが、 保存容量が大きいため、下記のマクロをコピペしたのですが 画像は消えてしまい困ってます。 (1)どなたか下記のマクロ解読お願いします。 (2)それと、新しく保存すると、jpegの画像が消えてしまい  どうしたらよいかわからない。 (3)ボタンを作成してまして、これも消したい。  オブジェクト削除なのかなぁ? わがまま言ってすいません。自分には無理なんでお願いします。 Option Explicit Sub Macro1() Dim SheetCount As Integer Dim i As Integer Dim fname As String Dim Ws As Worksheet Dim OrgWorkBook As Workbook Dim NewWorkBook As Workbook SheetCount = Worksheets.Count ChDir "C:\Documents and Settings\たかじん\デスクトップ" fname = Application.GetSaveAsFilename _ (, "Microsoft Excel ブック (*.xls), *.xls") If fname = "False" Then Exit Sub Set OrgWorkBook = ActiveWorkbook Workbooks.Add (xlWBATWorksheet) Set NewWorkBook = ActiveWorkbook For i = 2 To SheetCount Sheets.Add after:=Worksheets(Worksheets.Count) Next OrgWorkBook.Activate i = 1 For Each Ws In Worksheets Ws.Cells.Copy Destination:=NewWorkBook.Sheets(i).Range("A1") i = i + 1 Next NewWorkBook.Activate ActiveWorkbook.Close True, fname ChDir Application.DefaultFilePath

  • 【マクロ】指定したファイルを開いてマクロを実行

    マクロ初心者です。よろしくお願いします。 <質問> コマンドボタンをクリックしたら、任意のエクセルファイルを指定して開き、その開いたファイル(白紙状態のファイル)にマクロを実行させる方法を探してます。 <作成マクロ> Private Sub CommandButton1_Click() Dim OpenFileName As String OpenFileName = Application.GetOpenFilename("Microsoft Excelブック,*.xls") If OpenFileName <> "False" Then Workbooks.Open OpenFileName End If Workbooks(Dir(OpenFileName)).Activate ActiveCell.FormulaR1C1 = "テスト" Range("A1").Select Selection.Copy Range("B1").Select ActiveSheet.Paste End Sub <マクロ説明> --コマンドボタンをクリックして指定したエクセルファイルを開く-- Private Sub CommandButton1_Click() Dim OpenFileName As String OpenFileName = Application.GetOpenFilename("Microsoft Excelブック,*.xls") If OpenFileName <> "False" Then Workbooks.Open OpenFileName End If Workbooks(Dir(OpenFileName)).Activate --開いたエクセルファイル(白紙状態)のセルA1に「テスト」を入力した後、コピーしセルB2に貼り付ける--   ActiveCell.FormulaR1C1 = "テスト" Range("A1").Select Selection.Copy Range("B1").Select ActiveSheet.Paste End Sub コマンドボタンをクリック ↓ 任意のエクセルファイルを指定して開く ↓ 開いたファイル(白紙状態のファイル)のセルA1に「テスト」と書き込み セルA1の「テスト」をコピーしセルB1に貼り付ける このマクロを実行させるにはどこを改善すれば良いでしょうか? ご助言いただけると助かります。 よろしくお願い致します。

Printerの反応が極端に遅い
このQ&Aのポイント
  • PCからの印刷指示が遅く、同時刻に指示したものもバラバラの時間に印刷される
  • スキャンをセットしても始まらず、PC側でエラー表示が出る
  • 使用環境はWindows11で無線LAN接続、関連するソフト・アプリは不明でケーブルテレビ回線を使用
回答を見る

専門家に質問してみよう