前提・実現したいこと
マクロ印刷を行いたいのですが、知識がなく困っています。
表示からマクロを行おうとしたがエラーが表示された。
デバッグを行うとmyNoPostal = .Range("G" & i).Value '〒のセル挿入の部分に黄色が入ります。
発生している問題・エラーメッセージ
エラーメッセージ
実行時エラー'13':
型が一致しません。
該当のソースコード
Sub 印刷()
'Dim~として変数を宣言する
Dim LastRow As Long '最終行を「長整数型」として宣言
Dim i As Long '繰り返しの回数カウントの変数を「長整数型」として宣言
Dim myNo As String '印刷用のC4セルに入力する番号を「長整数型」として宣言
'職員番号が「T10002」などと文字も入っていたら、Dim myNo As String と「文字列型」として宣言する
Dim myNameIdol As String Dim myNameOffice As String Dim myNumBook As Long Dim myNumPrice As Long Dim myNoPostal As Long Dim myNameType As String Dim myNameSaleType As String Dim myNameAddress As String Dim myNoTel As String Dim myNamePerson As String Dim myPayment As String Dim myFree As String
'Withは「○○で」ということを表す
With Worksheets("顧客情報") '「名簿」シートで
'LastRowという変数にA列の最終行数を入れる 'Rows.Countはシートの行数 'End(xlUp)は「下の方のアクティブセルからCtrlと↑キーを押す」操作を記録すると表示されるものと同じです '.Cells(.Rows.Count, "A").End(xlUp).Rowで、A列の最下行から上方向に向かってデータに突き当たった行 LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row '↑このピリオドは重要で、Withで指定したところ「の」というような意味で 'これをつけないと、アクティブになっているシートのCellということになってしまい '意図しない動きになったりするので、気をつけてください。 'For~Next で、繰り返しをします For i = 5 To LastRow 'iという変数に2行目から最終行までを順番に入れていきます myNo = .Range("A" & i).Value '見積書Noのセル挿入 myNameIdol = .Range("B" & i).Value 'アイドルのセル挿入 myNameOffice = .Range("C" & i).Value '事務所のセル挿入 myNumBook = .Range("D" & i).Value '部数のセル挿入 myNameType = .Range("E" & i).Value '販売形式のセル挿入 myNumPrice = .Range("F" & i).Value '卸価格のセル挿入 myNoPostal = .Range("G" & i).Value '〒のセル挿入 myNameAddress = .Range("H" & i).Value '住所のセル挿入 myNoTel = .Range("I" & i).Value '電話番号のセル挿入 myFree = .Range("J" & i).Value '担当のセル挿入 myPayment = .Range("K" & i).Value '支払日のセル挿入 myNameSaleType = "委託販売価格:1000円(税込) 卸価格:" & myNumPrice & "円(税込)" '説明の生成 myNamePerson = myFree + "様" '担当に様 With Worksheets("入力") '「顧客情報」⇒「入力」へ反映 .Range("AP6").Value = myNo .Range("BM11").Value = myNameOffice .Range("BM13").Value = myNoPostal .Range("BM15").Value = myNameAddress .Range("BM17").Value = myNoTel .Range("BM21").Value = myNamePerson .Range("BM23").Value = myPayment .Range("B41").Value = myNameIdol .Range("B39").Value = myNameType .Range("X39").Value = myNumBook .Range("AF39").Value = myNumPrice / 1.08 With Worksheets("申込書") '「印刷用」シートで
' .PrintPreview '「印刷用」シートをプレビューします
.PrintOut Copies:=1, Collate:=True '「印刷用」シートを印刷します
End With 'With Worksheets("印刷用") に対応する締めです
End With 'With Worksheets("印刷用") に対応する締めです
Next i 'Forに対応するものです
End With 'With Worksheets("名簿")に対応する締めです
End Sub 'Sub 帳票印刷()に対応する締めです
試したこと
〒のセルに郵便番号を入力をしたところ「入力した値は正しくありません。ユーザーに設定によってセルに入力できる値が制限されています。」
と表示されます。
VBAにふれたことがないので
どのように修正したらよいのか教えていただけると助かります。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。