エラーも出なければ、何もでないです。。
無駄に長くて申し訳ありませんが、助けてください。
''''請求書にデータを転記
Sub CreateSomePDF1()
Dim LastRowNum As Long
Dim i As Long, j As Long
Dim fileName As String
Dim OrderDate As Long
Dim Name1 As String, Name2 As String
Dim Price1 As Long, Prices2 As Long, Prices3 As Long
Dim 請求月 As Long, Total As Long, 施設料 As String, タオル代 As String
Dim クリーニング代 As String
Dim ApplicationDate As Long, Output As Integer
'フォルダが存在するかチェック
Dim FSO As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
If FSO.FolderExists(ThisWorkbook.Path & "\請求書") Then
'何もしない
Else
MsgBox "請求書フォルダがありません。このエクセルがあるフォルダ内に作成してください"
Exit Sub
End If
Set FSO = Nothing
'列番号を設定
OrderDate = 1
Name1 = 2
Name2 = 3
請求月 = 5
Total = 6
施設料 = 7
Price1 = 8
タオル代 = 9
Prices2 = 10
クリーニング代 = 11
Prices3 = 12
ApplicationDate = 47
Output = 48
With Sheets("請求内容一括管理シート")
'最終行を取得
LastRowNum = .Cells(Rows.Count, 1).End(xlUp).Row
For i = 3 To LastRowNum
'請求書のデータを初期化
Sheets("請求書").Range("R2") = ""
Sheets("請求書").Range("B5") = ""
Sheets("請求書").Range("F17") = ""
Sheets("請求書").Range("L17") = ""
For j = 0 To 10
Sheets("請求書").Cells(28 + j, 7) = ""
Sheets("請求書").Cells(28 + j, 13) = ""
Sheets("請求書").Cells(29 + j, 7) = ""
Sheets("請求書").Cells(29 + j, 13) = ""
Sheets("請求書").Cells(30 + j, 7) = ""
Sheets("請求書").Cells(30 + j, 13) = ""
Next j
Sheets("請求書").Range("F6") = ""
'出力にレ点が入っていれば出力
If Len(.Cells(i, 49)) > 0 Then
j = 0
'日付名前とかをコピペ
Sheets("請求書").Range("R2") = .Cells(i, OrderDate)
Sheets("請求書").Range("B5") = .Cells(i, Name1) & " 様"
Sheets("請求書").Range("F17") = .Cells(i, Name1) & " 様"
Sheets("請求書").Range("L17") = .Cells(i, 請求月)
Sheets("請求書").Range("D35") = .Cells(i, ApplicationDate)
'商品等をコピペ
If Len(.Cells(i, 施設料)) > 0 Then
Sheets("請求書").Cells(28, 7) = .Cells(i, 施設料)
Sheets("請求書").Cells(28, 14) = .Cells(i, Price1)
j = j + 1
End If
If Len(.Cells(i, タオル代)) > 0 Then
Sheets("請求書").Cells(28 + j, 2) = .Cells(i, タオル代)
Sheets("請求書").Cells(28 + j, 4) = .Cells(i, Prices2)
j = j + 1
End If
If Len(.Cells(i, クリーニング代)) > 0 Then
Sheets("請求書").Cells(28 + j, 2) = .Cells(i, クリーニング代)
Sheets("請求書").Cells(28 + j, 4) = .Cells(i, Prices3)
j = j + 1
End If
Sheets("請求書").Range("F6") = .Cells(i, Total)
'同じフォルダ内のPDFというフォルダに保存 送付状
fileName = ThisWorkbook.Path & "\請求書\" & .Cells(i, Name1) & .Cells(i, Name2) & " 様" & ".pdf"
Sheets("請求書").ExportAsFixedFormat Type:=xlTypePDF, fileName:=fileName
End If
Next i
End With
End Sub
No.2ベストアンサー
- 回答日時:
詳しくは見ていませんが、以下の変数をLong型に変えてください。
変更前 Dim Name1 As String, Name2 As String
変更後 Dim Name1 As Long, Name2 As Long
変更前 施設料 As String, タオル代 As String
変更後 施設料 As Long, タオル代 As Long
変更前 Dim クリーニング代 As String
変更後 Dim クリーニング代 As Long
それで、とりあえず動くかと思います。
No.4
- 回答日時:
>1行目
>Sub CreateSomePDF1()
>で 黄色になり動きません。
その場合、その行にブレイクポイントが設定されている可能性があります。
添付図のように、Sub CreateSomePDF1()の行の左端に、茶色の●が表示されていませんでしょうか。それが、ブレイクポイントです。
ブレイクポイントがあるとマクロは必ず、その行で止まってしまいます。
茶色の●にマウスをあて、クリックするとブレイクポイントが解除されます。
Fin+F8 で ステップイン出来ました。
Longに変えてみたらうごきました。請求書が空なのは、セルNoを
私が間違えてました。
やっと、出来たと思ったら動かずで、あきらめようかと思っていたところでした。感謝です。有難うございました。
No.3
- 回答日時:
>やってみましたが、変わらずでした。
ステップインすると、タイトルが黄色になり、動きません。マクロが止まり、その行が黄色で表示されると思いますが、
どの行でとまってますか。
こちらで、確認した際は、(データが空の状態でしたが)、請求書が作成されました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelVBAでDo Until loopのネスト、IF文を使って一致する物と一致しない物としたい 11 2022/12/24 17:46
- Excel(エクセル) マクロで最終行から上に検索を逆にしたい 1 2022/05/17 18:27
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) 形式を選択して貼り付け 以下のコードで「元」シートと「先」シートのA列に同じ値があったら指定範囲をコ 5 2022/11/11 07:30
- Visual Basic(VBA) オブジェクトが見つかりません 1 2023/06/24 19:43
- Visual Basic(VBA) フォルダの場所を可変にしたいです(マクロ) 4 2023/05/11 10:00
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 6 2022/06/08 12:55
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで指定したフォルダに保存...
-
Windows10でコマンドプロンプト...
-
【マクロ】ファイル名の日付に...
-
Downloaded Program Filesはど...
-
ディレクトリ名変更してコピー...
-
Access VBA で フォルダ権限...
-
同一フォルダ内の別ブックから...
-
windowsでテキストファイルの各...
-
VBA 最新のフォルダ取得
-
エクセルで、マクロを使わずに...
-
VBA フォルダ名に特定の文字を...
-
PHPで、指定フォルダ(サブフォ...
-
パス名に2バイト文字(マルチバ...
-
Excelのハイパーリンクについて...
-
VBA フォルダの複数選択ができない
-
Excelvbaでブックをコピー名前...
-
保存先のフォルダ名を指定した...
-
ファイル名に特定の文字列を含...
-
ファイル保存時のダイアログ表...
-
フォルダ内のPDFファイル名を変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
パス名に2バイト文字(マルチバ...
-
ファイル名と同名のフォルダを...
-
VBA 最新のフォルダ取得
-
Excelのハイパーリンクについて...
-
デスクトップの画像をhtmlに表...
-
ディレクトリ名変更してコピー...
-
VBA フォルダ名に特定の文字を...
-
バッチファイルで指定フォルダ...
-
フォルダ内のPDFファイル名を変...
-
Access VBA で フォルダ権限...
-
excelマクロ 冒頭3文字が一致す...
-
【マクロ】ファイル名の日付に...
-
フォルダにリンクを貼りたい
-
会社のネットワーク上のファイ...
-
多量のファイルをフォルダに自...
-
C ファイル出力で、フォルダが...
-
保存先のフォルダ名を指定した...
-
vbsで選択ダイアログを表示した...
-
Excel VBA 同じ名前のフォルダ...
おすすめ情報
早速の返信ありがとうございます。
やってみましたが、変わらずでした。ステップインすると、タイトルが黄色になり、動きません。
請求内容一括管理シートは下記の通りです。
未熟者ですみません。お願いします。
返信ありがとうございます。
1行目
Sub CreateSomePDF1()
で 黄色になり動きません。
私の操作が悪いのでしょうか?