• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:マクロ連番印刷の桁数でオーバーフロー)

マクロ連番印刷の桁数でオーバーフロー

このQ&Aのポイント
  • マクロ初心者のため、エクセル2010で連番印刷のマクロを実行したところ、6桁の連番で「実行時エラー’6’オーバーフローしました」というエラーが表示されました。
  • エクセルの連番印刷マクロを使って伝票に連番を印刷しようとしたところ、5桁までは問題なく実行できたが、6桁になると「実行時エラー’6’オーバーフローしました」というエラーが発生する。
  • エクセル2010で連番印刷のマクロを実行したとき、6桁の連番で「実行時エラー’6’オーバーフローしました」というエラーメッセージが表示され、解決方法がわからない。

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

  • ベストアンサー
  • m3_maki
  • ベストアンサー率64% (295/459)
回答No.1

Dim idx As Integer を Dim idx As Long に変更してください。 詳細はこちらを参考に。 http://www.accessclub.jp/vba/help/011.html

commufa
質問者

お礼

おかげ様で伝票の6ケタ連番印刷ができました。今まではナンバリングを使って1回に200枚ほど押していましたので、これからはずいぶんと楽になります。 ありがとうございました。

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

関連するQ&A

  • エクセルの表に複数枚印刷したときに連番をつけたい

    Sub NumberPrint() Dim idx As Integer Dim frmPage, toPage frmPage = Application.InputBox("連番を挿入して印刷します" & Chr(13) _ & "開始番号を入力してください", Type:=1) toPage = Application.InputBox("終了番号を入力してください", Type:=1) If frmPage > 0 And toPage >= frmPage Then For idx = frmPage To toPage Range("AW3").Value = idx ActiveSheet.PrintOut Next idx Else MsgBox "開始番号、終了番号が不適切です。印刷は行いません" End If End Sub過去の質問をみて上記マクロを使用して印刷できましたがスタートの番号は3000001番からスタートさせたいのですがエラーが出てしまいます。どのようなコードにしたらいいのか分からないため教えて下さい。素人で今まで使用したことがないのですいません

  • ナンバリング印刷について

     はじめまして VBA初心者です。下記のようなマクロを見つけました。下記のマクロを実行すると開始番号、終了番号を入力すると印刷までいってしまいます。    開始番号、終了番号を入力した後、開始番号と終了番号の確認画面が出で、確認後に印刷か中止かを選択できるようにしたいと思っています。    よろしくお願いします。 Sub NumberPrint() Dim idx As Integer Dim frmPage, toPage frmPage = Application.InputBox("連番を挿入して印刷します" & Chr(13) _ & "開始番号を入力してください", Type:=1) toPage = Application.InputBox("終了番号を入力してください", Type:=1)  If frmPage > 0 And toPage >= frmPage Then For idx = frmPage To toPage Range("e1").Value = idx ActiveSheet.PrintOut Next idx Else MsgBox "開始番号、終了番号が不適切です。印刷は行いません" End If

  • 印刷履歴を別シートに自動で残していきたいです

    下記のコードを使用して連番での印刷を実行しています。 Sheet1とSheet2を使用していて、各番号ごとにSheet1と2が印刷されていきます。 ここにSheet3を追加して印刷履歴を自動で残していくことはできますでしょうか。 履歴には、(印刷日)(開始番号)(終了番号)を残せたらと思っています。 また、追加したSheet3は確認用としてのみ利用したいので印刷はこれまで通りSheet1と2のみでいければとても助かります。 現在使用しているコードについては、いろいろと自己流で調べてなんとかたどり着いた感じですので、自身には1から作れるような知識はありません。 ご教授いただけませんでしょうか。宜しくお願い致します。 Sub NumberPrint() Dim idx As Integer Dim frmPage, toPage frmPage = Application.InputBox("連番で印刷します" & Chr(13) _ & "開始番号は?", Type:=1) toPage = Application.InputBox("終了番号は?", Type:=1) If frmPage > 0 And toPage >= frmPage Then For idx = frmPage To toPage Range("D7").Value = idx ActiveWorkbook.PrintOut Next idx Else MsgBox "開始番号と終了番号を正しく入力し直してください" End If End Sub

  • マクロ

    マクロ初心者です。 シート名=社員番号(数字2~3桁) 以下のようなマクロを組んでみましたが、 実行してみると該当する社員番号のシートがあっても 「該当する社員が存在しません」と出てしまいます。 間違いをご指摘いただけると助かります。 Sub 社員検索()   Dim SheetName As String   SheetName = InputBox("社員検索" & vbLf & vbLf & "社員番号を入力して下さい")    If SheetName = vbNullString Then     Exit Sub     Sheets(SheetName).Activate    Else     MsgBox "該当する社員が存在しません"    End If End Sub よろしくお願いいたします。

  • エクセルマクロ 特定の文字列を含む行のみを残す (マクロ修正)

    以下のマクロは、EXCEL2003で 「特定の文字列が含まれている列を削除する」動作をするマクロです Sub Macro1() Const col As String = "A" '文字列が入力されている列 Dim idx As Long Dim keyWord keyWord = Application.InputBox("削除対象の文字列は?", Type:=2) If TypeName(keyWord) <> "Boolean" And Len(keyWord) > 0 Then   For idx = Cells(65536, col).End(xlUp).Row To 1 Step -1     If InStr(Cells(idx, col).Value, keyWord) > 0 Then '    If Application.CountIf(Rows(idx), "*" & keyWord & "*") > 0 Then       Rows(idx).Delete     End If   Next idx End If End Sub このマクロを、 「特定の文字列が含まれている行のみを残し、それ以外を削除する」 というマクロに変更したいと思っています。 是非ご回答お願いいたします。

  • アクセスの印刷VBAを教えて下さい

    アクセス初心者です。 バージョンは2002を使っています。 ネットで探して詳しく分からないままプログラムしています。 フォームで印刷のコマンドボタンを作ってそのボタンをクリックすると表示されてる 1ページのみ印刷したいのですが全てのレコードが印刷されてしまいます。 どうすればいいのか教えて下さい。 下記が今現在のVBAです。 Private Sub 印刷_Click() Dim varCopies As Variant varCopies = InputBox("部数を数字で入力してください", "印刷部数の指定") If Len(varCopies) = 0 Then Exit Sub End If If IsNumeric(varCopies) = False Then MsgBox "部数は数字で入力してください", vbOKOnly + vbCritical, "入力エラー" Exit Sub ElseIf CLng(varCopies) = 0 Then MsgBox "部数は0以上で入力してください", vbOKOnly + vbCritical, "入力エラー" Exit Sub End If If MsgBox("印刷しますか?" & vbCrLf & "部数=" & varCopies _ , vbYesNo + vbInformation, "印刷の確認") = vbYes Then DoCmd.OpenForm "伝票", acPreview, , , acFormReadOnly DoCmd.PrintOut acPrintAll, , , , CLng(varCopies) DoCmd.Close acForm, "伝票" End If End Sub

  • 印刷マクロがおかしくなった~

    印刷マクロがおかしくなりました。 コ-ドは次のとおりです。 Sub 最終処理分印刷() '----- 印刷範囲 列指定 --------- Const Sh = "入力" '  <----- シ-ト名指定 Const Left_Col = "A" '  <------ 印刷範囲の左端列 Const Right_Col = "S" '  <----- 印刷範囲の右端列 Const Target_Col = "T" ' <----- 印刷データ判定列(日付形式) Const Prev_Mode = 1 '  <----- 0 = 直接印刷 /  1 = プレビュー '------------------------------ Dim TopRw As Long Dim EndRw As Long Dim Target_Date As Date Dim N As Long With Worksheets(Sh) EndRw = .Range(Target_Col & "65536").End(xlUp).Row If Not IsDate(.Range(Target_Col & EndRw).Value) Then MsgBox "印刷するデ-タがありません。 終了します。" Exit Sub Else Target_Date = .Range(Target_Col & EndRw).Value End If TopRw = EndRw Do While .Range(Target_Col & TopRw).Value = _ .Range(Target_Col & TopRw).Offset(-1).Value TopRw = TopRw - 1 If TopRw = 1 Then Exit Do Loop N = EndRw - TopRw + 1 .PageSetup.PrintArea = Range(Left_Col & TopRw & _ ":" & Right_Col & EndRw).Address If Err.Number > 0 Then MsgBox "プリンタ-の準備が、出来ていません。" Exit Sub End If If MsgBox("受付簿の印刷を開始します。印刷日は入力されていますか?", vbOKCancel, "確認") = vbOK Then '"通知書”欄から"保険証書”欄までは印刷しない .Range("K1:N1").EntireColumn.Hidden = True If Prev_Mode = 1 Then .PrintOut Preview:=True Else 'ユーザーフォームによるメッセージ表示 UserForm2.Show vbModeless DoEvents .PrintOut Preview:=False 'メッセージ用のユーザーフォームを閉じる UserForm2.Hide MsgBox Target_Date & " 印刷分を " & N & _ " 件 印刷しました。", , "印刷完了" End If End If .PageSetup.PrintArea = False '印刷終了後"通知書”欄から"保険証書”欄まで再度表示 .Range("K1:N1").EntireColumn.Hidden = False End With End Sub VBAを実行すると、 > .Range("K1:N1").EntireColumn.Hidden = True 実行時エラ-’1004’ RangeクラスのHiddenプロパティを設定できません。 原因がわかりません。

  • コマンドボタンに二回目のマクロ実行しない設定を

    excel2007を使ってマクロ作成の初心者です。 「最新明細」シート上に、ユーザーフォームがあります。 その中のコマンドボタンクリックすると マクロ2を実行します。 しかし、このマクロは月初めに1回だけ実行し、 再びボタンをクリックしても、マクロ2を実行しないようにしたいです。 いろいろ考えたましたが、思ったように動作させることできず、こまってます。 どうしたらよいのでしょう。 Sub 処理済の確認() Dim AB3 As Date Dim AB4 As Date Sheets("計算").Select If AB3 = AB4 Then Exit Sub MsgBox "データは処理済みです。" Sheets("最新明細").Select Else End If If AB3 <> AB4 Then マクロ2の実行 End If End Sub

  • マクロ 記述が悪くエラーがかかります。

    いつも回答ありがとうございます。 最後らへんの記述で実行時エラー【型が一致しません】がかかります。 Worksheets("集計用").Range(b1, b2).Copy _ Destination:=Worksheets(b3).Range("B2") ← ここでエラーがかかる。 ワークシート名に変数を使用しているせいだと思います。 解決する方法を御指導して頂けないでしょうか?宜しくお願い致します。 Sub グラフの作成() Dim Date1 As Date Dim Date2 As Date Dim SName As String Dim b1 As Variant Dim b2 As Variant Dim b3 As Variant Dim d1 As Variant Dim d2 As Variant Dim d3 As Variant With Worksheets("集計用") s1: Date1 = Application.InputBox("最初の日付を2012/12/1のように入力してください。") If Date1 = 0 Then MsgBox "キャンセルされました。", vbOKOnly Exit Sub End If Set b1 = .Columns("B").Find(Date1, , xlValues, 1) If b1 Is Nothing Then If MsgBox("入力した日付が見当たりません。" & vbNewLine & _ "再度入力しますか?", vbYesNo) = vbYes Then GoTo s1 Else MsgBox "処理を中止しました", vbOKOnly Exit Sub End If End If d1 = b1.Row s2: Date2 = Application.InputBox("最初の日付を2012/12/31のように入力してください。") If Date1 = 0 Then MsgBox "キャンセルされました。", vbOKOnly Exit Sub End If Set b2 = .Columns("B").Find(Date2, , xlValues, 1) If b2 Is Nothing Then If MsgBox("入力した日付が見当たりません。" & vbNewLine & _ "再度入力しますか?", vbYesNo) = vbYes Then GoTo s2 Else MsgBox "処理を中止しました", vbOKOnly Exit Sub End If End If d2 = b2.Row s3: SName = Application.InputBox("商品名を入力して下さい。") If SName = "False" Then MsgBox "キャンセルされました。", vbOKOnly Exit Sub End If Set b3 = .Rows("3").Find(SName, , xlValues, 1) If b3 Is Nothing Then If MsgBox("入力した商品名が見当たりません。" & vbNewLine & _ "再度入力しますか?", vbYesNo) = vbYes Then GoTo s3 Else MsgBox "処理を中止しました", vbOKOnly Exit Sub End If End If d3 = b3.Column End With Worksheets.Add After:=Worksheets("集計用") ActiveSheet.Name = b3 Worksheets("集計用").Range(b1, b2).Copy _ Destination:=Worksheets(b3).Range("B2") Worksheets("集計用").Range(Cells(d1, d3), Cells(d2, d3)).Copy _ Destination:=Worksheets(b3).Range("C2") End Sub

  • Excel 印刷禁止 マクロの作り方

    毎年の期末で担当者が変わるため、 3/31で印刷を禁止するマクロを作りましたが、 これを応用して初めての使用後、30日で印刷が出来なくなるように しようと思いましたが、なかなか出来ません。どなたか力を貸してください。 Private Sub Workbook_BeforePrint(Cancel As Boolean) Dim D As Integer D = (Now+30) - Now If D <= 0 Then Cancel = True MsgBox "30日経過しましたので、担当者へ連絡してして下さい。印刷できません", 48, " Else Cancel = False Exit Sub End If End Sub 以上 よろしくお願いします。

このQ&Aのポイント
  • EP-883AWの手差し給紙で紙がないと言われる問題について解決方法を教えてください。
  • 年末の年賀状印刷で設定を変えたのか、手差し給紙で印刷できない問題が発生しています。
  • EPSONのEP-883AWで下トレイから給紙する設定に戻したいです。
回答を見る

専門家に質問してみよう