• ベストアンサー

フォームのチエックボックスにチエックを入れるた行のみ印刷出来るマクロ

エクセル97で仮に下記のような表を作成しています 一番左の列にチエックボックスを並べて、印刷したい行のみチエックを入れると、上の標題とチエックした行のみ印刷したいのですが、そんなマクロのボタンを作成したいのですがご教授お願いします   A B C D E 1   ○○○表 2 □ あ い う え 3 □ え お あ え 4 □ い え お あ 5 □ か き く け

  • 71063
  • お礼率62% (94/150)

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

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.9

最初の方法でうまくいったBookと2つ目の方法を行うBookは別にします。 別にしたほうが混乱がないはずです。 2つ目の方法を行うBookの、データの入っているシートのA列にコントロールツールボックスのチェックボックスを貼りつけます。1行に1つ貼り付けるはずです。 また、コントロールツールボックスからコマンドボタンを配置します。 2つ目の方法を行うBookのVBAのコード部分はない状態にして下さい。 チェックボックスを配置するシートのコードウインドウに、#7のコードをコピーして貼りつけます。   チェックボックスがSheet1に配置してあれば、Sheet1のコードウインドウに   貼りつけます。Sheet1のコードウインドウの出し方は、表示→プロジェクト   エクスプローラでプロジェクトエクスプローラを出して、Sheet1をダブルク   リックします。 Const Col1 = "B" '印刷する開始列 Const Col9 = "E" '印刷する最終列 Private Sub CommandButton1_Click()   :   : End Sub >.Range(Col1 & "1:" & Col9 & "1").Copy Destination:=ws2.Range(Col1 & "1")が黄色になる。 最初の方法がうまくいって、2つ目がここで止まるのは考えられませんが、最初の方法を試したBookと何か違っていませんか。 1行目がセル結合されていると起きる可能性がありますが・・・その場合は、   Const Col1 = "B" '印刷する開始列   Const Col9 = "E" '印刷する最終列 を実状にあうように修正してみてください。これは先頭行の書き込みです。(この行をX行とします) また、 '.Range(Col1 & "1:" & Col9 & "1").Copy Destination:=ws2.Range(Col1 & "1") と、この行の前に『'』(Shiftキーを押しながら7のキー)を入力して実行してみて下さい。この行を実行をしないようにするわけです。 これで動けば、X行の下に次の1行を追加してみます。   .Rows("1:1").Copy Destination:=ws2.Rows("1") とすれば、結合セルがあってもコピーします。 >シートは増えていますがチェックボックスのチェックが反映されていない?? 上の行でエラーが起きていれば印刷用のシートはまだ作成されていませんので確認はできないはずですが・・・ 今もExcel97に貼り付けて実行しましたが、特に問題なく実行できました。 近くに、VBAのわかる人がいらっしゃれば、解決も早いと思いますが・・・

71063
質問者

お礼

大変お礼が遅れ申し訳ありませんでした 何回もの補足ご無理をいいました 色々といつも懇切丁寧な回答に非常に助けられます、ありがとうございました 今後ともよろしくお願いします

その他の回答 (8)

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.8

>最初の方法でsheet2にコピーではなく、同じシートの選択したもののみのsheetが別に作成出来ないでしょうか 別シートを作成し、印刷が終わったら削除しています。 Const Col1 = "B" '印刷(コピー)する開始列 Const Col9 = "E" '印刷(コピー)する最終列 Sub CheckRowsPrint()   Dim ws As Worksheet   Dim ws2 As Worksheet '印刷用シート2   Dim rw1 As Long, rw2 As Long '行カウンタ   Set ws = ActiveSheet   Application.ScreenUpdating = False   Worksheets.Add.Move After:=Worksheets(ws.Name)   Set ws2 = ActiveSheet   With ws     '表題のコピー     ws2.Select: ws2.Cells.Clear: rw2 = 1     .Select: ActiveCell.Activate     .Range(Col1 & "1:" & Col9 & "1").Copy Destination:=ws2.Range(Col1 & "1")     'データ行のコピー     For rw1 = 2 To .Range("G65536").End(xlUp).Row       If .Range("G" & rw1) = True Then         rw2 = rw2 + 1 'チェックボックスがチェックされていればコピー         .Range(Col1 & rw1 & ":" & Col9 & rw1).Copy _               Destination:=ws2.Range(Col1 & rw2)       End If     Next   End With   Application.ScreenUpdating = True   '今はプレビュー   ws2.PrintPreview 'ws2.PrintOut   Application.DisplayAlerts = False   ws2.Delete   Application.DisplayAlerts = True End Sub >CommandButton1を押すと何も動きがありません? >チェックボックスが□のままなので、・・・四隅に□が出るだけになります? これはVisual Basic がデザインモードだからでしょう。 Visual Basicのツールバーの三角定規と鉛筆のようなアイコンが押された状態がデザインモードです。 再度押せば、解除され、コントロールが操作できるようになるでしょう。一旦保存して開きなおしてもデザインモードは解除されたはずです。

71063
質問者

補足

度々の補足大変申し訳ありません もう少し教えてください ・最初の方法は出来ました、大変ありがとうございました ・コマンドボタンの方法は、初歩的なことが分からなくてごめんなさい、動作できるようになりました ただ、ボタンを押すとデバックで下のところが黄色になっています?? .Range(Col1 & "1:" & Col9 & "1").Copy Destination:=ws2.Range(Col1 & "1") それと、シートは増えていますがチェックボックスのチエックが反映されていない?? 何回も申し訳ありません よろしくお願いします

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.7

>改ページプレビューの画面で終了してしまいます? いちいち印刷すると大変なので、意識的にプレビューにしています。 ws2.PrintPreview → ws2.PrintOut に変更すると印刷します。今回もそうしています。印刷するときは変更して下さい。 コントロールツールボックスのチェックボックスを使った方法です。 新しいコントロールですし、フォームのコントロールより(ある意味)使いやすい事が多いです。 表示→ツールバー→Visual Basic Editor でVisual Basicのツールバーを表示します。  →この中のコントロールツールボックスをクリック。  →コントロールツールボックス内のチェックボックスをクリックしてセルA2をクリック  →表示されたチェックボックスを選択して右クリック→プロパティを選択   →BackColor を白にする   →Caption をなし(文字をみんな削除)にする   →AutoSize をTrueにする     チェックボックスは選択状態だと思いますが、四隅の四角が完全に2行目に入るようにします。   初めて登録したなら、(オブジェクト名)がCheckBox1になっているはずです。   1行はチェックボックスが入るくらいの行高が必要です。  →2行目に作ったチェックボックスをコピー  →A3に貼り付け。以下繰り返し。     CheckBoxX(Xは番号)が順番に作られていく事が重要です。     10個くらい作ったら、Shiftキーを使って複数個選んでコピー&ペーストができます。     どの位の行数を操作されるかわかりませんが、チェックボックスを無尽蔵に貼り付けはできないでしょう。  →コントロールツールボックスからコマンドボタンをクリックしてシート上に1つボタンを作る。  →作ったコマンドボタンをダブルクリック  →Private Sub CommandButton1_Click()   End Sub    が表示されるので、下のコードを貼り付ける。  →シートに戻り、Visual Basic のデザインモードを終了します。   これで動かす事ができるはずです。(Excel97で確認) Const Col1 = "B" '印刷する開始列 Const Col9 = "E" '印刷する最終列 Private Sub CommandButton1_Click()   Dim ws As Worksheet   Dim obj As OLEObject   Dim ws2 As Worksheet '印刷用シート2   Dim rw1 As Long, rw2 As Long '行カウンタ   Set ws = ActiveSheet   Application.ScreenUpdating = False   Worksheets.Add.Move After:=Worksheets(ws.Name)   Set ws2 = ActiveSheet: rw2 = 1   With ws     .Select: ActiveCell.Activate     .Range(Col1 & "1:" & Col9 & "1").Copy Destination:=ws2.Range(Col1 & "1")     For Each obj In .OLEObjects       If obj.Name Like "CheckBox*" Then         If obj.Object.Value = True Then           rw1 = .Shapes(obj.Name).TopLeftCell.Row           rw2 = rw2 + 1 'チェックボックスがチェックされていればコピー           .Range(Col1 & rw1 & ":" & Col9 & rw1).Copy _                 Destination:=ws2.Range(Col1 & rw2)         End If       End If     Next   End With   Application.ScreenUpdating = True   '今はプレビュー   ws2.PrintPreview 'ws2.PrintOut   Application.DisplayAlerts = False   ws2.Delete   Application.DisplayAlerts = True End Sub

71063
質問者

補足

度々の補足を書いて申し訳有りません 最初の方法は出来ました大変有り難うございます もう少し教えてもらえないでしょうか ・最初の方法でsheet2にコピーではなく、同じシートの選択したもののみのsheetが別に作成出来ないでしょうか ・コントロールツールボックスの方ですが、丁寧な回答有り難うございます、最後まで出来たのですが、CommandButton1を押すと何も動きがありません? チェックボックスが□のままなので、動作しないのかと思い□をクリックするとレが出ません?四隅に□が出るだけになります? いつも、初心者の補足になって大変お手数をお掛けしますが、もう少し教えてください よろしくお願いします

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.6

表示→ツールバー→フォーム のチェックボックスを使った例です。質問のようにA列に配置し、リンクするセルをG列にしてあります。 印刷用のSheet2にチェックした行をコピーします。どの列をコピーするかは、Col1、Col9にセットします。 フォームのコマンドボタンに、CheckRowsPrintを割り当てます。CheckRowsPrintは標準モジュールに貼り付け。 Const Col1 = "B" '印刷(コピー)する開始列 Const Col9 = "E" '印刷(コピー)する最終列 Sub CheckRowsPrint()   Dim ws2 As Worksheet '印刷用シート2   Dim rw1 As Long, rw2 As Long '行カウンタ   Set ws2 = Worksheets("Sheet2")   Application.ScreenUpdating = False   With Worksheets("Sheet1")     '表題のコピー     ws2.Select: ws2.Cells.Clear: rw2 = 1     .Select: ActiveCell.Activate     .Range(Col1 & "1:" & Col9 & "1").Copy Destination:=ws2.Range(Col1 & "1")     'データ行のコピー     For rw1 = 2 To .Range("G65536").End(xlUp).Row       If .Range("G" & rw1) = True Then         rw2 = rw2 + 1 'チェックボックスがチェックされていればコピー         .Range(Col1 & rw1 & ":" & Col9 & rw1).Copy _               Destination:=ws2.Range(Col1 & rw2)       End If     Next   End With   Application.ScreenUpdating = True   '今はプレビュー   ws2.PrintPreview 'ws2.PrintOut End Sub フォームのチェックボックスはその個数分リンクするセルを設定する必要があるでしょう。 コントロールツールボックスのチェックボックスなら、2行目から順に貼り付けていくだけで、この場合はほとんどコントロール配列のように使えます。チェックボックスのコントロールとしての性質と、図形としてのTopLeftCellで位置を自動的に特定できます。 コントロールツールボックスのコマンドボタンのイベントです。Sheet1のコードウインドウに貼り付け。 Const Col1 = "B" '印刷する開始列 Const Col9 = "E" '印刷する最終列 Private Sub CommandButton1_Click()   Dim obj As OLEObject   Dim ws2 As Worksheet '印刷用シート2   Dim rw1 As Long, rw2 As Long '行カウンタ   Set ws2 = Worksheets("Sheet2")   Application.ScreenUpdating = False   ws2.Select: ws2.Cells.Clear: rw2 = 1   With Worksheets("Sheet1")     .Select: ActiveCell.Activate     .Range(Col1 & "1:" & Col9 & "1").Copy Destination:=ws2.Range(Col1 & "1")     For Each obj In .OLEObjects       If obj.Name Like "CheckBox*" Then         If obj.Object.Value = True Then           rw1 = .Shapes(obj.Name).TopLeftCell.Row           rw2 = rw2 + 1 'チェックボックスがチェックされていればコピー           .Range(Col1 & rw1 & ":" & Col9 & rw1).Copy _                   Destination:=ws2.Range(Col1 & rw2)         End If       End If     Next   End With   Application.ScreenUpdating = True   '今はプレビュー   ws2.PrintPreview 'ws2.PrintOut End Sub

71063
質問者

補足

いつもお世話になっています。もう少しご教授お願いします 最初の設定ですると、印刷しなくて改ページプレビューの画面で終了してしまいます?sheet2にはコピーされていました、途中はsheet2にコピーではなく任意のsheetで最後にはそれはなくてもいいのですが、そんなことが出来ますでしょうか また、次の説明のご指摘のようにリンクさせるのが大変です、ご説明の下記の内容がやったことがなく分かりません コントロールツールボックスのチェックボックスなら、2行目から順に貼り付けていくだけで、この場合はほとんどコントロール配列のように使えます。チェックボックスのコントロールとしての性質と、図形としてのTopLeftCellで位置を自動的に特定できます。 コントロールツールボックスのコマンドボタンのイベントです。Sheet1のコードウインドウに貼り付け。 ご教授お願いします

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

私の誤解であればお許し下さい。 質問ではワークシートのA列(の位置)に、チェックボックスを行の数だけ貼りつける様にわたしは解釈しますが、既出ご解答例では、チェックボックスの値(True/False)を聞くところが出てきていません。セルの上下左右罫線をかこんで、四角を作り、1を入れる例(B方式)に変わっていませんでしょうか。 VBと違いVBAでは「コントロール配列」が使えないので、私も考えましたが、チェックボックスの数だけ判別コーディング行が必要で、スマートに出来ず、お手上げでした。 チェックボックスを使わず、上記B方式で設計するのが、 後のVBAコーディングが簡単です。 その時1行ずつ空白行を入れ、上の四角と下の四角が少し 離れてかけるようにすれば良いと思います。 すればIf Cells(i,1)="1" Then    Range(Cells(i,2),Cells(i,10))を別シートに移す     EndIf を行数分ForNextででも繰り返し、終わったところでPrintoutすれば良い。PrintOutは毎回通る(実行する)ごとに改ページするのでRange(Cells(i,2),Cellsi,10)).PrintOutは不可。

71063
質問者

お礼

大変お礼が遅れ申し訳ありませんでした 回答参考になりました 大変ありがとうございました 今後ともよろしくお願いします

  • BlueRay
  • ベストアンサー率45% (204/453)
回答No.4

もう1パターンです。どちらでも結果は同じです。 やりやすい方を選んでやってみてください。 解説:フラグの所に1が入っているものが印刷対象となります。 0は印刷されません。フラグ部分にスペースが入ると終わります。 動作:元となるシートをコピーで作成して、フラグが0のものを 削除した後に印刷をしています。 あくまでサンプルなのでご自分でわかりやすいように &表にあったコーディングへと変更してください。 例題:    A  B  C  D  E 1       ○○○表 2 フラグ 3  1   あ  い  う  え 4  1   え  お  あ  え 5  0   い  え  お  あ 6  1   か  き  く  け '********** ここから ********** Sub SelectPrint2()   Dim iCnt   '警告メッセージ非表示   Application.DisplayAlerts = False   '印刷用シートを元表よりコピー   Sheets("○○○表").Copy after:=Sheets(1)   Sheets(2).Name = "印刷"   '行カウンタ   iCnt = 3   With Sheets("印刷")     Do       'フラグチェック       Select Case .Cells(iCnt, 1).Text         Case "0"           '未印刷行を削除           .Range("" & iCnt & ":" & iCnt & "").Delete         Case "1"           '次行(印刷)           iCnt = iCnt + 1         Case Else           Exit Do       End Select     Loop   End With   '印刷   Sheets("印刷").PrintOut   '印刷用シート削除   Sheets("印刷").Delete   '警告メッセージ表示   Application.DisplayAlerts = True End Sub '********** ここまで **********

71063
質問者

お礼

大変お礼が遅れ申し訳ありませんでした 何回もの補足ご無理をいいました 懇切丁寧な回答大変参考になりました ありがとうございました 今後ともよろしくお願いします

  • BlueRay
  • ベストアンサー率45% (204/453)
回答No.3

解説:フラグの所に1が入っているものが印刷対象となります。 0は印刷されません。フラグ部分にスペースが入ると終わります。 あくまでサンプルなのでご自分でわかりやすいように &表にあったコーディングへと変更してください。 例題:    A  B  C  D  E 1       ○○○表 2 フラグ 3  1   あ  い  う  え 4  1   え  お  あ  え 5  0   い  え  お  あ 6  1   か  き  く  け '********** ここから ********** Sub SelectPrint()   Dim iRow, iCnt   '警告メッセージ非表示   Application.DisplayAlerts = False   '印刷用シート作成   Sheets.Add.Name = "印刷"   'タイトル&見出しコピー   For i = 1 To 2     'コピー     Sheets("○○○表").Range("" & i & ":" & i & "").Copy     '貼り付け     Sheets("印刷").Cells(i, 1).Select     Sheets("印刷").Paste   Next   '行カウンタ   iRow = 3   iCnt = 3   With Sheets("○○○表")     Do       'フラグチェック       Select Case .Cells(iRow, 1).Text         Case "0"           '何もしない           DoEvents         Case "1"           'コピー           .Range("" & iRow & ":" & iRow & "").Copy           '貼り付け           Sheets("印刷").Cells(iCnt, 1).Select           Sheets("印刷").Paste           '次行(印刷)           iCnt = iCnt + 1         Case Else           Exit Do       End Select       '次行(元データ)       iRow = iRow + 1     Loop   End With   '印刷   Sheets("印刷").PrintOut   '印刷用シート削除   Sheets("印刷").Delete   '警告メッセージ表示   Application.DisplayAlerts = True End Sub '********** ここまで **********

  • BlueRay
  • ベストアンサー率45% (204/453)
回答No.2

例: ○別シートへコピー 1.コピーしたいセルを選択して、コピー  Range("1:1").Select  --- 1列目をコピー  Selection.Copy 2.貼り付けしたい開始位置を選択して、ペースト  Range("A5").Select  --- A5へ貼り付け  ActiveSheet.Paste ○終わりまで繰り返す。 1.For~Next  For i = 0 To 9   'コピー処理  Next 2.Do~Loop  Do   'コピー処理   '終了チェック  Loop ループの終了方法は、チェックボックスを並べるとかセルにフラグを立てる とかあるので、それぞれによって条件判定が変わります。

71063
質問者

補足

度々の回答有り難うございます すいません、まだマクロのことは初心者です お手数をお掛けしますが最初からのマクロ例をご教授お願いできないでしょうか よろしくお願いします

  • BlueRay
  • ベストアンサー率45% (204/453)
回答No.1

例えば、チェックの入った行だけを抽出して別シートに コピーして印刷するようなマクロではどうですか? 例: X表・・・上の表 Y表・・・印刷用の表 マクロの流れ 1.Y表(シート)をブックへ追加する。 2.X表A列のチェックボックスにチェックが入っていればチェックの  入っている行をY表にコピーする。 3.X表A列の終わりまで繰り返す。 4.Y表を印刷する。 5.Y表(シート)を削除する。

71063
質問者

補足

早速の回答有り難うございます もう少し教えてもらえないでしょうか 2.X表A列のチェックボックスにチェックが入っていればチェックの  入っている行をY表にコピーする。 3.X表A列の終わりまで繰り返す。 この部分のマクロはどのようにすればよいのか教えてもらえないでしょうか

関連するQ&A

  • チェックボックスにマクロを入れて印刷する

    チェックボックスにマクロを入れて印刷するやり方について ご教授いただきたく、質問させていただきます。 シート1   A   B   C    D 1  あ  ●  TRUE  レ 2  い  ×  FALSE 3  う  ▲  TRUE  レ エクセルで上記のシートA1,B1にデータを入力し、 Dにあるチェックボックスにチェックを入れると A1の「あ」をコピーし、シート2のX1にペーストして VLOOKUPを使ってシート1のB1をA1に表示させ、 印刷したいと思っています。 (もちろん、「あ」と「●」の2項目しかないわけではなく、 1行に8項目あり、シート1では横一列に並んでいるものを、 シート2の見栄えのいいフォーマットで、印刷します。 行数は100行くらいあります。) シート2     A      X  1  ●         あ マクロの記録で、「チェックを入れる→コピー→ペースト→印刷→シート1に戻る」とし、   Application.Run "Book1.xls!印刷" Range("A1").Select Selection.Copy Sheets("Sheet2").Select Range("X1").Select ActiveSheet.Paste Application.CutCopyMode = False ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Sheets("元").Select となりましたが、チェックを入れても動作しなかったため、 「Application.Run "Book1.xls!印刷"」を削除したところ、 正常に動きました。 問題は・・・・    チェックを入れると動作する(^_^)    チェックを外す時も動作する(T_T)    1個のチェックボックスにマクロは設定できたけれど、    100行あったとしたら、100個のチェックボックスを作成し    1個1個マクロを記録させる?まとめてはできない?    チェックボックスをコピー&ペーストしたところ、    うまくいきませんでした。    (チェックを入れると印刷という動作でOKで、     チェックをあらかじめ入れておき、最後に印刷ボタンで     印刷するというやり方ではありません。     VLOOKUPを使っているので、無理ですよね(・_・;)) 初めてのチェックボックスですが、途中まで簡単にできた!と思ったけど、つまづいてしまいました。 色々調べたのですが、素人同然の私には難しくご質問させていただきました。 皆様お忙しいと思いますが、宜しくお願いいたします。                

  • エクセルでのチェックBOXの並べ替えについて

    エクセルでチェックBOXを使って表を作成しました。 列数は10列以上で行数も100行位はあります。 行ごとで並べ替えをすると チェックBoxのみずれてしまいます。 下記についてはネットで調べ設定済みです。 (1)Boxがセル内に余裕をもっておさめる (2)セルに合わせて移動する設定にする。 (3)並べ替えをする時に表全体を選択する。 3列位の表だとちゃんとチェックBoxも行に合わせて動いてくれるのですが・・・・ 列数や行数が多い場合は無理なのでしょうか? 何か裏技のようなものがあるのでしょうか? 列数が少ないと出来て多くなると出来ないというのもいまいち納得がいかないのですが・・・ 方法をご存知の方がいらっしゃったら教えてくださいm(_ _)m 宜しくお願いします。

  • HTML チェックボックスで複数の値

    初心者です。 HTMLで下記のような計算ができるシートを作成しようと思っています。 表   A B C □ D E F □ G H I [計算] (□はチェックボックス) チェックボックスをチェックし、計算ボタンを押すと1行目(A,B,C)と選択したチェックボックスの行のそれぞれの列の値の割り算を行い、その結果を合計した数を表示させることを考えています。 チェックボックスをチェックすることでデータを一つ取り込むことはできたのですが、複数データ(列データ)を取り込む方法がよくわかりません。 ご存じの方教えていただけないでしょうか。 初心者ですので、実際のコードから教えて頂けるとありがたいです。 よろしくお願いします。 

  • マクロ フォームでのチェックボックスについて

    教えてください。 1)フォームでテキストボックス2つ、ボタンで新しい入力フォーム表示 2)入力フォームでチェックボックス6個、コンボボックス6個を作ります。 3)チェックボックスにチェック(1個のみ)したら、1)のフォームのテキストボックスにチェックされた、項目とコンボボックスで選択された内容が転記したい。 例)果物にチェック、コンボでブドウと選択  テキストボックス→果物 ブドウ というようにフォームに転記させたい。 以前、シートでのマクロを教えていただきましたが、フォームだと頭が混乱してしまいました。 簡単で良いので、マクロの記述を教えてください。

  • チェックボックスの逆使用がわかりません!

    初めて質問させていただきます。マクロ超初心者です。 エクセル2007を使用しております。 マクロに初めて挑戦し、契約書に差しこんでおります。 うまく説明できないところがあると思いますが、ご了承ください。。。 シート1に契約書に差し込むデータが一覧表として作成してあります。 シート2に契約書のひな型を作成→シート1から契約内容を差し込む 見よう見まねでマクロを作成しました。 ここまではうまくいったのですが、どうしてもわからないところがあります。 シート1  A列  B列  A子  マンション  B子  アパート  C子  戸建  D子  テラスハウス シート2へ差し込み    A列     B列      C列     D列    E列     F列   G列     H列  チェックBOX  マンション  チェックBOX アパート チェックBOX  戸建 チェックBOX B/D/F以外 もし、A子がマンションなら、シート2のA列チェックBOXにレ点が入るようにしたいです。 同様にB子・C子と差し込んだときに、一致するBOXにチェックが入るといったものにしたいです。 この説明で、お分かりいただけましたでしょうか? どうか、お願いいたします。

  • マクロの組み方とチェックボックスに関して

    【マクロ】の設定とチェックボックスを一括ではずす方法 1.マクロは新しいマクロの記録しか使ったことがないのですが、以下のことをやるとうまくいきません。 ・「目次」というセル以外を選択 ・B列を選択し、「ジャンプ」→「セル選択」→空白セルにチェックマーク ・「書式」→「行」→「表示しない」 以上のことをマクロに記録したいです。 マクロでなければうまく反映したのですが、新しいマクロの記録からだとうまく行きません>< 2.チェックボックスを一括(全シート)ではずす方法がありましたら教えて下さい!! ツールバーから作ったので図形のようになっていて、全シート選択すると○になってしまい選択できないのです。。

  • エクセルのフォームのチェックボックスについて

    フォームのチェックボックスの書式設定で”リンクするセル”を入れています。 例えば、C10を入れます。次の行にコピーしても自動でC11となってくれません。絶対値は関係ないようです。複数コピーする時に、一々書式設定で変えるのは面倒です。 エクセルは、通常絶対値をつけずにコピーすると、行や列は自動でずれてくれるはずですが、チェックボックスについては違うのでしょうか。 他の方法があるのでしたら、どなたかお教えください。 よろしくお願いします。 できれば、マクロはつかわず簡単な方法がいいのですが・・・

  • エクセルのフォームのチェックボックスについて

    エクセルのフォームのチェックボックスについて あるセルにフォームのチェックボックスを付け、 そのセルに、true・falseの条件設定をしました。 その設定を利用して、条件式書式の設定で、 trueの時にとなりのセルを赤にするようにしました。 以上のような行が1500行あります。 1つ1つ設定するのが困難のため、 マクロが使えるフォームのチェックボックスを使用しようと試みております。 しかし、マクロ内のVBAの記述方法が解りません。(1行だけなら解ります) ご存知の方がおられましたら教えてください。 よろしくお願いいたします。

  • チェックボックス・オンを数えたい

    エクセルで作成した表の中の列に 表示→ツールバー→フォームで チェックボックスを作りました。 その列の一番下に、 チェックボックス・オンのセルの数×¥3000を表示させたいのですが、 出来ますでしょうか?

  • エクセル マクロ フォームのチェックボックス

    エクセルのフォームのチェックボックスで【On】にした際に 「コントロールの書式設定」にある「リンクするセル」のロックをしたいのですが マクロで実現する際、どのようなにできるのでしょうか? また、フォームのチェックボックスで【Off】にした際に、「リンクするセル」のロックの解除のしたいです。 初心者で下記を記述しましたが、チェックボックスが多いため、すべてのチェックボックスに登録するのが時間がかかるのあで、教授お願いします。 Cells.Locked = False ActiveSheet.Protect userinterfaceonly:=True ActiveSheet.Range("AY29").Locked = True

専門家に質問してみよう