初心者です。お世話になります。Excel2003を利用しています。
ユーザフォームに、CheckBoxを配置してあります。
CheckBoxを選択し、印刷ボタンを押したら印刷できるようにしたいのですが、CheckBoxを選択したらの部分が分かりません。
ここのHPにあるhttp://www.asahi-net.or.jp/~zn3y-ngi/YNxv98b2.html
のを参考にしています。
HPに書いてある、「Private Sub チェックボックスの選択結果を調べる()」をどう改造していいのか分かりません。
ご教授、よろしくお願い致します。
No.5ベストアンサー
- 回答日時:
こんばんは。
VBAを習い始めてから、どのぐらい経ちましたか?
私の経験からの想像ですが、たぶん、この規模のものを楽に作るには、丸2年ぐらい経験が必要だと思います。えっ!と、疑問に思われるかもしれませんが、サンプルのコードですと、数ヶ月レベルなのに、実務だと、それだけの経験が必要とは納得いかないかもしれませんね。
頭の中で、VBAの組み立てができていればよいのですが、なかなか、習っている状態では見えてこないのです。少し大きなものだとできません。
私が、今回と同等ののもので苦労したのは、VBAを始めて3年目で、掲示板でもほぼ解答できていたので、できるつもりになっていたのです。頼まれたものだったので、相手にお詫びした、苦い経験があります。
『かんたんプログラミング Excel2003 VBA 基礎編』技術評論社 (2004/02)
大村 あつし (著)
http://www.amazon.co.jp/exec/obidos/ASIN/4774119 …
このシリーズ3部が全部読みきれている状態で、やっと、なんとか、VBAの入門が終わったレベルだと思ってよいようです。(一回目の読みきりが、6ヶ月ぐらいです。半分ぐらいしか理解できません。しかし、VBAの教本というのは、なぜか、詳しいことを書いていないのです。困ったものですね。詳しいものは、みんな絶版になってしまいました。)
たぶん、今回は、印刷設定の問題だとは思いますが、最初の印刷設定の(VBAとは関係のない)部分で通じていないので、前の方も分からないということだったと思います。
サンプルを示しておきます。こういうのは、教わらないとできるようになりません。みなさん、同じだと思います。
チェックボックスが、12個
コマンドボタン、1個
なお、Worksheets("SSS").Select を、UserForm_Intialize() の中に入れておくと良いです。
今回は、印刷範囲だけが、メッセージボックスで出てくるだけです。
UserFormモジュール
'--------------------------
Private Sub CommandButton1_Click()
Dim i As Integer
Dim j As Integer
Dim ar(11) As Variant
For i = 1 To 12
ar(i - 1) = Me.Controls("CheckBox" & i).Value
Next i
For j = 0 To 11
If ar(j) Then
With ActiveSheet
.PageSetup.PrintArea = Cells(100 * j + 1, 1).Resize(100).Address
MsgBox Cells(100 * j + 1, 1).Resize(100).Address '検査用
'.PrintPreview 'プリント・ブレビュー
End With
End If
Next j
'チェックボックスを全てオフにする
For i = 1 To 12
Me.Controls("CheckBox" & i).Value = False
Next i
End Sub
2年もかかるんですか・・・(~_~;)
10年以上前にマクロを習ったのですが、もうずっと使っておらず
ど素人の状態になってしまいました。
慌てて過去の本を読んだのですが、ユーザフォームにチェックボックスを配置し、
そこから印刷できるのが載っておらず、悩んでしまいました。
最近の本を読んでもチェックボックスから印刷するパターンが
見当たらず、慌てて教えてgooに登録して投稿した次第です。
Wendy02さん、marbinさんには、私の説明がかなり分かりずらかったと
思いますが、すぐの投稿で感謝しています。
ありがとうございます。
また本のご紹介、サンプルありがとうございます!!!
これを機会に勉強しようと思います。
サンプルはこれからじっくり見て、意味を理解したいと思います。
今の私のレベルじゃ完璧無理なので、上司には明日謝ろうと思います。
本当にありがとうございました。
No.4
- 回答日時:
こんにちは。
最初に、ご質問の内容は、読み手には正しく伝わっていないようです。サンプルをお示しになっていますが、それ自体を良く理解されていないようで、そのサンプルをベースにしても、ご自身の希望とは、実際はかなり違いがあるはずです。
そのサンプルを調べてみましたが、「1999.11.15」となっていますね。その内容は、Excel 97時代後だと思います。Excel 2000 の出回った頃には、もう、そのような書き方のコードは出なかったと思います。当時は、それでよかったのだろうと思います。
Webサイトからの引用:
>「Private Sub CommandButton1_Click()」の中で、印刷範囲を設定してから印刷指示するように変更すれば、上手くいくと思います。
その文章からでは、著者は学習者に意図する内容が伝わっていないし、どう加工しても、まともに印刷の結びつけるような内容にはなっていないように思います。そのサンプルの内容で、印刷に結びつけるというには唐突です。
最大の問題点は、「チェックボックス」から、という部分です。チェックボックスは、複数を入れることができます。もし、「チェックボックス」のままで、複数の範囲を印刷するなら、臨時のシートが必要になります。
もし、UserForm で印刷範囲を選びたいのでしたら、オプションボタンの方がよいし、UnLoad Me は、しないほうがよいかもしれません。
それから、これを言うのは心苦しいのですが、VBAを覚えるなら、教本を換えたほうがよいです。ある程度、Microsoft のサポートのサンプル・コードなどに準じているものを選んでください。
お手数おかけします。サンプルみて下さり、ありがとうございます。
私の会計例では、3つしか表示していないのですが、
実際は20個程あり、何個か選択して印刷したいのです。
なので、オプションでなくチェックボックスにしてあります。
考え方がおかしいような気がしていたので、ありがとうございます。
そうですね。Microsoftのサンプルコードを使います。
違う方法を考えてみます。お手数おかけしました。
No.3
- 回答日時:
意味がよくわかりません。
>チェックボックスを選択しても印刷が大量にでてきて、
なにかが大量に印刷されるのでしょうか?
印刷するようなコードは見当たりませんが・・・。
>変数「会計・タイトル」指定してあります。
コードの中には何も変数宣言されてませんが・・・。
この回答への補足
marbinさん、何度もすみません。
変数宣言は、以下でしています。
Option Explicit
Dim 会計 As String
Dim 部数 As String
Dim タイトル As String
marbinさんのを見て、チェックボックスでなく、印刷範囲がいけないかと思い印刷の所を直していますが、デバッグになってしまいました。
別のシートの部分を印刷範囲したいのです。
もう私の頭では分かりません。どうしたら良いのでしょうか?
Private Sub CommandButton1_Click()
会計 = "1"
部数 = 1
Sheets("SSS").Range("A1:AA100").Select
Selection.PrintOut Copies:=部数
会計 = "2"
部数 = 1
Sheets("SSS").Range("A101:AA200").Select
Selection.PrintOut Copies:=部数
会計 = "3"
部数 = 1
Sheets("SSS").Range("A201:AA300").Select
Selection.PrintOut Copies:=部数
Unload Me
End Sub
あと、そもそもこの考え方はあっているのでしょうか?
ど素人で本当に申し訳ございません。
No.2
- 回答日時:
> If UserForm1.CheckBox1.Value = True Then
「ユーザーフォーム1のチェックボックス1にチェックが入っていたら」
という意味になります。
この回答への補足
上記のを入れてあり、変数「会計・タイトル」指定してあります。
しかし、チェックボックスを選択しても印刷が大量にでてきて、
チェックボックスを選択しないで、「印刷ボタン」を押すと
メッセージボックスが出るようにしたのですが、メッセージも
出ません。
下のコード間違っていますか?
Private Sub チェックボックスの印刷選択()
If 印刷.CheckBox1.Value = True Then
会計 = "1"
ElseIf 印刷.CheckBox2.Value = True Then
会計 = "2"
ElseIf 印刷.CheckBox3.Value = True Then
会計 = "3"
Else
タイトル = "チェックボックスの選択結果"
MsgBox "どの会計も選択されていません", vbCritical, タイトル
Exit Sub
End If
Range("A1").Value = 会計
End Sub
No.1
- 回答日時:
チェックボックスのクリックイベントに印刷ボタンを表示する
コードを書きたい、ということでしょうか?
この回答への補足
お早いお返事ありがとうございます。
当方ど素人で、意味が分からないかもしれませんが宜しくお願い致します。
印刷ボタンは、参考にしてあるHPのhttp://www.asahi-net.or.jp/~zn3y-ngi/YNxv98b2.htmlの1番下の参考画のように、ユーザフォームの中に「印刷」ボタンは作ってあります。
なので、Private Sub CommandButton1_Click()」の中で、印刷範囲を設定してから印刷指示は書きました。
しかし、「月」の所のチェックボックスはどう書いていいのか全く分かりません。このチェックボックスを選択したらを変更すれば良いと思ったのですが、考え方がそもそも間違っているのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Accessフォームで全レコードを指定のExcelのセルへ転送し印刷する方法について 2 2022/09/08 18:23
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Visual Basic(VBA) エクセル365のVBAで困っています。どう修正したらよいか添削をお願いします 2 2023/05/03 17:35
- ノートパソコン Windows11homeを新しく購入し、初期設定をしています。 前のパソコンでは無線のFAX機や有 5 2023/04/18 19:50
- Excel(エクセル) Excel VBAプルダウンの値を変えながら2枚ずつ印刷する方法? 4 2022/05/27 13:04
- 年賀状作成・はがき作成 エクセルで作った住所録をワードの差し込み印刷ではがきに印刷したい 3 2022/09/26 15:47
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) シートを選択して、1つのPDFにしたいのですが。 5 2022/10/03 20:18
- その他(コンピューター・テクノロジー) マウスで文章をドラッグしてコピーする際に、横一列全てが選択されるのですが、 2 2023/06/17 18:05
- Word(ワード) IMEパッドがショートカットキーで開かないのですが。。。 5 2023/06/11 09:23
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
エクセルでチェックボックスを使用してシートの抽出及び一括印刷
Excel(エクセル)
-
チェックボックスにマクロを入れて印刷する
Word(ワード)
-
EXCEL マクロ 条件の合ったシートだけ印刷したい
Excel(エクセル)
-
-
4
VBA チェックボックスで印刷ページの選択
Word(ワード)
-
5
Excel VBA 複数シートの一括印刷について
PowerPoint(パワーポイント)
-
6
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
7
フォームのチエックボックスにチエックを入れるた行のみ印刷出来るマクロ
Excel(エクセル)
-
8
条件によって印刷するシートを変える方法 EXCEL-VBA
Excel(エクセル)
-
9
VBA コンボボックスとテキストボックスを連結させたい
Visual Basic(VBA)
-
10
特定のセルに数値が入っているシートのみ印刷する方法
Excel(エクセル)
-
11
シートを選択して、1つのPDFにしたいのですが。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
WORのテキストボックスフィール...
-
特定のファイルのみ印刷がされ...
-
PDFファイルがカラー印刷できない
-
メールの画像が印刷できません。
-
【EXCEL】【VBA】空欄は飛ばし...
-
PDF印刷 一枚だけカラーにする方法
-
Webぺージの印刷が途中まで...
-
PDFの印刷が途中で終わってしま...
-
OutLookメールの一部分だけを印...
-
Webページ印刷時にヘッダー・フ...
-
エクセルでコメント印刷すると...
-
印刷をかけるとなぜか文字だけ...
-
エクセルで複数ページを1枚に...
-
バックグラウンドとは?何度再...
-
テプラー:KING JIM SR720 連...
-
Wordで複数枚印刷しようと...
-
ACCESS レポートの印刷枚数指...
-
お札の透かしの位置にずれ?
-
EXCELの印刷ページ数について
-
エクセルを使って名簿を連続印...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PDFファイルがカラー印刷できない
-
【EXCEL】【VBA】空欄は飛ばし...
-
特定のファイルのみ印刷がされ...
-
テプラー:KING JIM SR720 連...
-
PDFファイルを印刷すると黒くなる
-
PDF印刷 一枚だけカラーにする方法
-
Twitterの投稿を印刷コピーしたい
-
手紙で字が汚い時の添え書きは?
-
メールの画像が印刷できません。
-
エクセルを使って名簿を連続印...
-
バックグラウンドとは?何度再...
-
OutLookメールの一部分だけを印...
-
印刷の行間が飛んで印刷される
-
PDFの印刷が途中で終わってしま...
-
PVC(ポリ塩化ビニール)の有害...
-
プリンターの設定「印刷部数」...
-
エクセルでコメント印刷すると...
-
会社に提出する地図(自宅から...
-
エクセルで複数ページを1枚に...
-
ワードなどのB6を原寸でB5...
おすすめ情報