『チェックしたシートのみ印刷』(からす) Book内に複数のシートがありそれらを印刷するのですが、印刷する物が毎回違うため、 チェックボックスをおいてそれでチェックしたシートのみを印刷ボタンで印刷をしたい のですが、初心者の為どうもうまくいきません。 どうか知恵をお貸しして下さい。 Excel2003,WindowsXP ---- チェックボックスのチェックの状態で判定してもいいですが、 セルとリンクさせて、セルの値で判定した方がやりやすいかも しれません。 10個のフォームのチェックボックスが配置してあり、 A1:A10にリンクされているものとします。 Dim c As Range Dim r As Range Dim i As Integer Set r = Worksheets(1).Range("A1:A10") i = 0 For Each c In r i = i + 1 If UCase(c.Value) = "TRUE" Then Worksheets(i).PrintOut Next c (MARBIN) ---- チェックボックス(フォーム)のテキストにシート名を表示している場合 です。 Dim cb As Object For Each cb In ActiveSheet.CheckBoxes If cb.Value = xlOn Then Worksheets(cb.Text).PrintOut Next (MARBIN) ---- 前後しましたが、新規シートに既存のシート分だけ フォームのチェックボックスは配置するコードです。 Dim ws As Worksheet Dim wscnt As Integer Dim i As Long Dim mytop As Single Dim myleft As Single Dim mywd As Single Dim myht As Single Dim cb As Object wscnt = Worksheets.Count Worksheets.Add after:=Worksheets(wscnt) Set ws = ActiveSheet For i = 1 To wscnt With ws.Cells(i, 1) .RowHeight = 16.5 mytop = .Top myleft = .Left mywd = 60 myht = 16.5 Set cb = ws.CheckBoxes.Add(myleft, mytop, mywd, myht) cb.Name = "cb" & i cb.Text = Worksheets(i).Name cb.LinkedCell = .Address .Font.Color = vbWhite 'チェックボックスのテキストと重なって見難くなるため End With Next Set ws = Nothing (MARBIN)