• ベストアンサー

エクセル(VBA)でリストボックス等を使用した印刷方法

kenken0001の回答

回答No.3

下のマクロを使ってください。 Sub Macro1() Application.ScreenUpdating = False '画面表示の静止 シート名 = "sheet" & Cells(1, 2) + 4 'セルB1に入った数字をシート名に置き換え Worksheets(シート名).Visible = True 'シート表示(印刷用) 'プレビューです。変更可能です。 Sheets(シート名).PrintPreview 'Sheets(シート名).PrintOut Copies:=1 '一応プレビューとしましたが、上のもので '置き換えると印刷します。 Worksheets(シート名).Visible = False 'シート非表示(戻し) Application.ScreenUpdating = True '画面表示の静止解除 End Sub B1に結果が表示されるように リストボックスを作ってください。 シート5 が 1 シート6 が 2 シート15 が 11

m-happy-t
質問者

補足

すみませんが、実行時エラーがでるのですが ・シート5から15の名称を変更すると実行時エラー9(インデックスが有効範囲にありません)とでます 例:シート5を「333」 シート7を「あいう」 シート10を「様式」    シート名は固定です ・下記のCells(1, 2)はB1ですよね    たとえば、C5はCells(5, 3)でいいんですか?  シート名 = "sheet" & Cells(1, 2) + 4 よろしくお願いします。

関連するQ&A

  • エクセル2013のリストボックス

    エクセル2010でワークシート上に配置したリストボックスがあります。 ActiveXではなくフォームコントロールのリストボックスです。 これに11項目のリストを設定してあります。 2010ではまったく問題がないのですが、エクセル2013で開くと下の2項目が選択できません。 2010と2013では互換性がないのでしょうか?

  • EXCEL リストボックスについて

    現在、エクセルであることをしようとしているのですが、どうやってやったらいいのかわからないので、ぜひ教えてください。 それと出来るかどうかも教えてください。 内容といたしましては、エクセルのシートの中にあるセルを選んだときにリストボックスを表示して、そのリストボックスにある内容を選んで確定するとその選んだ文字が入るようにしているのですが、入力規則からのリストボックスだとシート自体を小さくすると中の文字が見えなくなり、選びづらくなります。 そこで、コンボボックスで同じことをすると、文字のサイズが大きくなるのですが、印刷時に下向きの矢印も一緒に表示されてしまいます。 そこで、別の視点から考えて、セルを選んだ時にリストボックスみたいなユーザフォームをだし、そこで選んだ文字を選んだセルに表示すれば、印刷時に表示もしないし見た目も良くなると思うのですが、出来そうですか? 出来るのであれば、ぜひ教えてください。 出来れば、VBかVBAで出来るのか、教えてください。

  • エクセルVBAのリストボックス

    エクセルVBAのリストボックスを使った検索システムを作っています。 リストボックスはユーザーフォームではなくsheetに貼り付けてます。 リスト地域 北海道 青 森 岩 手 山 形 新 潟  ・  ・  ・ リストボックスから地域(複数選択)を選んで検索ボタン(コマンドボタン)を押すと同じsheetの特定の場所(例えばrange("A25")に選択した地域を表示させたいのですがうまくいきません。 例) 北海道、東京、愛知 のように表示させたいです。 単数選択ではうまく表示できるのですが、複数だとうまくいきません。 (複数選択できるようにプロパティのMultiSelectの項目はfmMultiselectMultiに変更しています。) よろしくお願いします。

  • エクセル VBA リストボックスの登録方法

    早速の質問ですが エクセルVBAでリストボックスでシートのセルからリストボックスの中身を作りたいのですがそれだけなら ListBox1.RowSource = Range("E21", Range("E65536").End(xlUp)).Address こんな感じで出来ますよね・・・ ただ自分が作りたいのは、条件が付いてE21のセルはF21のセルに○が付いていたらリストボックスに出す  E22のセルはF22のセルに○が付いていたらリストボックスに出す というのを作りたいのです。 その条件で E65536をxlUPでやりたいのですが色々考えたのですが いいアイデアが浮かびません どうか皆様ご協力の程宜しくお願いいたします。

  • エクセル VBAのリストボックス

    エクセルのVBAでユーザーフォーム上のリストボックスに文字を入力すると候補がドロップダウンリストに表示され、候補から一つを選択するとドロップダウンリストをとじるといったコードを教えてください。ただし、最終的にリストボックスの値はリストから選ぶのみで、文字を入力するのは候補を表示するためだけに使いたいのです。どなたか、ご教授願います。

  • エクセルのリストボックスについて

    エクセルのフォームにリストボックスというものがありますが、 コントロールの書式設定→コントロール→選択の種類で複数選択 と拡張選択は、VBAで使用するために存在しているのでしょうか? VBAを使用せずとも使い道があるようでしたら教えてください。

  • Excel VBA コンボボックスの使い方

     VBAでのコンボボックスの使い方をしらべているのですが、うまく見つかりません。コンボボックスのリストに登録するのはどうしたらよいのでしょうか?シート上のセル内のデータを使用しないとリストの登録は出来ないのでしょうか?VBA上で作成して、ユーザーフォームで選択できるようにしたいと思っています。VBAをはじめたばかりなので初歩的な質問で大変恐縮です。どなたかわかる方がいらっしゃったらお願い致します。

  • エクセルVBAでコンボボックス

    エクセルVBAのコンボボックスの使い方について質問します。 実現したいプログラムは 「チェックボックスから選んだ数字で計算するプログラム」 です。 具体的には… まず、コンボボックスをシート上に配置します。そのコンボボックスには 数字の1から10を選べるようにしておきます。 次に、コマンドボタンを配置します。これは単にプログラムをスタート させる目的です。 ユーザーは、まずコンボボックスから好きな数字を選択します。 そしてスタートボタン(コマンドボタン)を押します。 すると、選んだ数字の2倍がセルに表示されます。 さらに発展系としては… チェックボックスを4つ配置します。各チェックボックス には、+、-、×、÷を割り振っておきます。 また、コンボボックスを2つ用意し、それぞれ1~10の数字をリストにします。 ユーザーは、チェックボックスから好きな記号を選び、さらにコンボボックスから 好きな数字を選びます。そしてスタートボタンを押すと、選んだ数字を選んだ記号 で計算した値がセルに表示されます。 というようなプログラムを考えているのですが、うまくできません。 ポイントは、 ・チェックボックスにリストを入力する方法 ・チェックボックスの選択状態や、リストボックスから選ばれた数字を、  変数として取得する方法 インターネットで調べているのですが、リストボックスに値を入れるのにもマクロを走らせ なければならない方法とか、ユーザーフォームでの説明ばかりでなかなか実現に至りません。 http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_userform05.html プログラムのイメージ図としては添付の図の通りです。 どのようにプログラムを書けばいいのでしょうか。

  • EXCEL VBA 社員名簿印刷したい

    お世話になります。 EXCEL VBAを使って社員名簿を印刷したいのです。 データというシートに社員情報が入っています。(可変ですが100名ほど) このシートに[印刷]というボタンを配置してこれをクリックしたらSheet1の様式にあてはめて 社員人数分印刷をしたいのです。 どのたかお知恵をおかりできますでしょうか? よろしくお願い致します。 EXCEL2013

  • エクセルVBAのリストボックスについて

    こんにちわ! エクセルVBAのリストボックスの質問です。 現在、エクセル上では時刻データフォーマットが日付データになっているのですが、リストボックスに表示させると数値データになってしまいます。 具体的には エクセル上⇒11:00 リストボックス上⇒0.45833… となってしまいます。 どうしたら直るのでしょうか? アドバイスの程よろしくお願いいたします。 ちなみにエクセル2003での事象です。