No.2ベストアンサー
- 回答日時:
#1です
結合セルですね。。そのままだと、エラーが出てしまうかと、、すみません
Set rg = .Range("B3,B5:B6,B11,B13:B14,B19,B21:B23,B27,B29:B30,B35,B37:B38")
を
Set rg = .Range("B3:C9,B11:C17,B19:C25,B27:C33,B35:C41")
にしてください。
出力に関しては、MergeArea(1, 1)なのでそのままでも実行できますが、
気になれば、(コードを見て結合セルに対してと把握する為)
.Cells(3 + n, 2).MergeArea(1, 1).Value = .Cells(i, 6).Value
などとしておいた方が良いかも知れません。
また、I列の値が文字だと型エラーが発生すると思います。
IsNumeric関数 IsNumeric(値)などで実行前にチェックするのが良いと思います。
ついでに nの値は、出力先が8行づつ移行する変数です。
No.1
- 回答日時:
こんばんは、
どの様に回答すれば良いのかわかりませんが、
掲示の表において、なさりたい事を条件分岐で考えると下記のような流れになると思います。(一例です)
多分このままでも処理できると思いますが、ステップ実行などで処理の流れを確認してください。基本的にベタ書きなので分かると思います。
3行だけなので.value=.valueですが、offsetなどに書き替えても良いかも知れません。
.PrintPreview としていますので即プリントする場合は.PrintOutなどとして場合によっては、他の制御を加えた方が良いかも知れません。
表示のシートで実行されます。With ActiveSheet シートは明示した方が良いと思います。。
Sub a()
Dim i As Long, ii As Long
Dim n As Long: n = 0
Dim rg As Range
With ActiveSheet
Set rg = .Range("B3,B5:B6,B11,B13:B14,B19,B21:B23,B27,B29:B30,B35,B37:B38")
rg.ClearContents
For i = 4 To 6
If .Cells(i, 9).Value <> "" And .Cells(i, 9).Value > 0 Then
For ii = 1 To .Cells(i, 9).Value
If .Cells(3 + n, 2).Value <> "" Or n > 32 Then
.PrintPreview
' .PrintOut
rg.ClearContents
n = 0
.Cells(3 + n, 2).Value = .Cells(i, 6).Value
.Cells(5 + n, 2).Value = .Cells(i, 7).Value
.Cells(6 + n, 2).Value = .Cells(i, 8).Value
Else
.Cells(3 + n, 2).Value = .Cells(i, 6).Value
.Cells(5 + n, 2).Value = .Cells(i, 7).Value
.Cells(6 + n, 2).Value = .Cells(i, 8).Value
End If
If ii < .Cells(i, 9).Value Then n = n + 8
Next
End If
If n <= 32 Then
n = n + 8
Else
n = 0
End If
Next
.PrintPreview
' .PrintOut
End With
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- プリンタ・スキャナー Wordで作った宛名ラベルを印刷しようと思って、プリンターの上のところにある、手差しトレイ的なところ 3 2022/11/17 18:40
- その他(買い物・ショッピング) 商品にラベルを貼って出荷するまでのの手順にについて 2 2022/09/29 15:26
- その他(パソコン・スマホ・電化製品) A4シール紙を手差し印刷できる場所を教えてください。できれば全国的にあるお店がいいです。Amazon 2 2022/09/24 16:08
- 結婚式・披露宴 結婚式の席次表と席札を印刷するおすすめのところ教えて下さい。 結婚式で使用する席次表(ワード)と席札 1 2022/08/18 11:41
- Visual Basic(VBA) VBAで不特定枚数印刷をしたいです。 4 2022/08/02 07:30
- Excel(エクセル) エクセルの散布図で新たに入力した値のデータラベルが空欄になる現象 1 2022/04/26 09:31
- Excel(エクセル) エクセルのマクロで複数シートを両面印刷するには? 2 2022/12/08 23:23
- プリンタ・スキャナー プラザーのプリンター DCP-J926N-W/B を使用して 100均などで売られている マグネット 1 2022/12/01 14:40
- 年賀状作成・はがき作成 Wordによる宛名印刷 2 2023/01/04 15:36
- Excel(エクセル) Excelであるシートだけ印刷できない 1 2022/04/01 09:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
印刷要求順番と印刷出力順番が...
-
イベントプロシージャ 印刷が...
-
VBscriptでPDFファイルを直接印...
-
webページの印刷制限について
-
PDFファイルを印刷し終了するには
-
vbaでPDFファイルが印刷されない
-
プリンタの印刷ジョブを削除し...
-
VB.NET+ActiveReports で印刷...
-
VB6でのネットワークプリン...
-
ActiveReportsを使って[印刷ダ...
-
VBAで不特定枚数印刷をしたいで...
-
VBからのプリンタ制御について
-
オートメーションエラー(214741...
-
Eclipseを使ってソースを印刷し...
-
VB2005から複合機を使い自動FAX...
-
Javaのソースコードをカラーで...
-
.NETプログラムからの印刷
-
VB2008で0ページの印刷ジョブを...
-
VB6上から印刷ダイアログを表示...
-
ファイルのパス指定での印刷方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
印刷ダイアログを表示させない方法
-
印刷要求順番と印刷出力順番が...
-
プリンターを指定して印刷するには
-
vbaでPDFファイルが印刷されない
-
VBAで不特定枚数印刷をしたいで...
-
VB.NET+ActiveReports で印刷...
-
ACCESSで設定した帳票の用紙サ...
-
PHPでPDFファイルの直接印刷
-
PDFファイルを印刷し終了するには
-
印刷ダイアログを表示させたくない
-
VBからプリンタに出力する時に...
-
EXCELファイルの複数ダウンロー...
-
webページの印刷制限について
-
VBscriptでPDFファイルを直接印...
-
A4の2枚をA3の1枚にする編集方法?
-
VBSでExcelファイル印刷時のプ...
-
リンク先のページを印刷したい
-
2回以上PDFをコピーや印刷がで...
-
VBAにて指定したセルをプルダウ...
-
ActiveReportsを使って[印刷ダ...
おすすめ情報