永遠のVBA初心者です。
かなり昔にNETで教えてもらって、試行錯誤を重ねて何とか目的を達成したのですが、今回このコードをpdfで保存するように修正したいのですが、試行錯誤では歯が立たず・・・
やりたいことは、エクセルの申請書のシートを、指定のフォルダにセル内容をファイル名にpdfで保存したいのです。
実際にはこの後に、セル内容をリストに転記して完了するようなプロシージャーになっています。
よって、下記のコードを修正していていただきたいのですが。
Sub 申請書登録()
Dim NewBookName As String
With ThisWorkbook.Sheets("申請書")
NewBookName = .Range("F25").Value & " " & .Range("E4").Value & " " & .Range("A2").Value & " " & .Range("A1").Value & ".xlsx"
.Copy
ActiveWorkbook.SaveAs Filename:="・・・・1230\・・・室\・・・チーム\申請書" & "\" & NewBookName
.Cells.Copy
Application.Dialogs(xlDialogPrint).Show
No.2ベストアンサー
- 回答日時:
PDFの出力のフォルダーについては、変更は必要だと思いますが、
Filename:="・・・・1230 のところです。
Sub 申請書登録()
Dim NewBookName As String
With ThisWorkbook.Sheets("申請書")
NewBookName = .Range("F25").Value & " " & .Range("E4").Value & " " & .Range("A2").Value & " " & .Range("A1").Value
Worksheets("申請書").ExportAsFixedFormat Type:=xlTypePDF, Filename:="・・・・1230\・・・室\・・・チーム\申請書" & "\" & NewBookName
End With
End Sub
字数オーバーのため お礼省略。
ご回答を現在のコードにコピペしてみたら、
「End Withに対する、End Subがありません」
とエラーが出たので、ご回答のコードから「End With」を抜いたらうまくpdfで保存された(ご回答のプロシージャーは完璧)に動いたのですが、そのあとの別シートのリストへのセル内容の転記(下記のコード)がエラーになります。
折角ご回答いただいたのであと少しお助けください。
<質問のコードの続き>
With Workbooks(NewBookName).Sheets("申請書")
.Unprotect
.Cells.Copy
.Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
.Range("A1").Select
.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End With
Workbooks(NewBookName).Save
Workbooks(NewBookName).Close
End With
For i = 5 To Sheets("申請書リスト").Range("A1048576").End(xlUp).Row + 1
If Sheets("申請書リスト").Range("B" & i).Value = "" Then
With Sheets("申請書リスト")
.Range("A" & i).Value = Sheets("申請書").Range("E3").Value
・・・・・・・
.Range("F" & i).Value = Sheets("申請書").Range("F25").Value
' .Range("B" & i).Value = Date
End With
End If
End Sub
No.1
- 回答日時:
早々のご回答ありがとうございました。
但し残念ながら、このコードを現在使用しているコードに適用するだけの実力が無いのが悲しい現実です。
ご回答で、ファイル名を指定した複数のセル内容で保存するように変更することは無理な実力です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/05/26 17:19
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/08 09:08
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/02/07 09:58
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/03/02 08:40
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/03/28 14:52
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/06/01 14:45
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
セルをクリック⇒そのセルに入力...
-
対象セル内(複数)が埋まった...
-
エクセル 足して割る
-
エクセルで指定したセルのどれ...
-
【エクセル】IF関数 Aまたは...
-
Excelのチェックボックスの使い...
-
エクセル オートフィルタで絞...
-
Excelで住所を2つ(町名迄と番...
-
セルに特定の色が付いていたら...
-
枠に収まらない文字を非表示に...
-
Excel:指定セル以下全てのセル...
-
貼り付けで複数セルに貼り付けたい
-
EXCEL VBA セルに既に入...
-
excelの特定のセルの隣のセル指...
-
エクセルの一つのセルに複数の...
-
Excelで、「特定のセル」に入力...
-
Excelでのコメント表示位置
-
【Excel】 セルの色での判断は...
-
エクセルで縦に1112223...
-
セルの高さ(行高)を求めるには?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで指定したセルのどれ...
-
【エクセル】IF関数 Aまたは...
-
貼り付けで複数セルに貼り付けたい
-
対象セル内(複数)が埋まった...
-
Excelで数式内の文字色を一部だ...
-
セルをクリック⇒そのセルに入力...
-
Excelでのコメント表示位置
-
エクセル 足して割る
-
excelのCOUNTIF関数で、『範囲=...
-
EXCEL VBA セルに既に入...
-
エクセル オートフィルタで絞...
-
エクセルのセルの枠を超えて文...
-
(Excel)数字記入セルの数値の後...
-
エクセルの一つのセルに複数の...
-
【Excel】 セルの色での判断は...
-
Excel2003 の『コメント』の編...
-
エクセル “13ヶ月”を“1年1ヶ月...
-
複数のセルのいずれかに数字が...
-
枠に収まらない文字を非表示に...
-
excelの特定のセルの隣のセル指...
おすすめ情報