- ベストアンサー
EXCELの初歩的なマクロ(VBA)の記述について
本当に初歩的な内容で申し訳ありませんが、ボタンをクリックした時にある図形を非表示にし、もう1回クリックすると表示にする方法を教えて頂けませんか。 (ボタン:ボタン1、図形:図形1) Sub ボタン1_Click() End Sub 上記の2行の間に、記述する内容になるかとお思います。 EXCEL2010を使用してます。 お手数ですが、よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17068)
関連するQ&A
- エクセルのマクロ
エクセルで表示>ツールバー>フォームよりボタンを 作成し、それをクリックすると インターネットエクスプローラーを立ち上げて リンク先、(例えばhttp://www.yahoo.co.jp/) にアクセスできるようにしたいと考えています。 エクセルにリンク先を取り込むのではなく、インターネット エクスプローラーを自動的に立ち上げてリンク先にアクセスする というのがやりたいことです。 営業職なものでまったく良くわからないのですが、 Sub ボタン1_Click() xxxxxxxxxxxxxxxxxxxxxxxxx End Sub 上記において、 xxxxxになにを記述すれば可能になるのでしょうか? ご教授頂きたく思います。 どうぞよろしくお願いいたします。
- ベストアンサー
- Visual Basic
- エクセルのマクロの記述について
VBA初心者ですのでどうか詳しく教えてください。下記のマクロをエクセルで組んだのですが・・・ -------------------------------------------------------------------- Sub hideworksheets() Worksheets("sheet1").Visible = False End Sub Sub ボタン_Click() ActiveWindow.SelectedSheets.PrintOut Copies:=1 Sheets("sheet1").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1 Sheets("sheet2").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1 Sheets("sheet3").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1 Sheets("sheet4").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1 End Sub ------------------------------------------------------------ 1.上記設定で"sheet5"という別シートにボタンを設置した場合、このボタンを実行すると、シート1~4のほかにシート5まで印刷されてしまいます。シート5を印刷したくない場合のVBAの記述について教えてください。 2.「Sub hideworksheets() Worksheets("sheet1").Visible = False End Sub」 の箇所で、シート1を非表示にしたいのですが、このマクロを実行時、「Sub ボタン_Click()」以下のマクロを実行しようとすると、「実行時エラー1004 worksheeクラスのselectメソッドが失敗しました」のエラーがでてしまいます。シート1を非表示にし、無事印刷のマクロを実行する為の記述を教えてください。
- ベストアンサー
- オフィス系ソフト
- EXCEL VBA 印刷
EXCEL VBA 印刷 初歩中の初歩で申し訳ありません・・・該当シート(Sheet1(名前は別名))の印刷をしたいと思い、ボタンの設定をしたのですが エラーとなります(画像を添付します。) お手数ですが、フォローの程宜しくお願いいたします。 参考までにコードも記載します。 Private Sub CommandButton9_Click() Range("A137").Select End Sub --------------------------上記はこんぼボックスで該当セルへジャンプしています。 Sub 印刷の実行() Worksheests("Sheet1").PrintOut End Sub
- ベストアンサー
- オフィス系ソフト
- エクセル・マクロボタンの表示を変更したい
初歩的質問ですみません。 Excel2000で、VBAの修正を頼まれています。 シート上に印刷用ボタンが2個、既に作られているので、その表示タイトルを (例えば、「4月分印刷→5月分印刷」のように)変更したいのです。 しかし、 右クリックしてもタイトルにカーソルが点滅しませんし、マクロ名などの表示も出てきません。 ユーザーフォームもありませんでした。 コードは(標準モジュールではなく)Sheetに以下のように記述されています。 Private Sub Printout_Click() ActiveSheet.PageSetup.PrintArea ="$A$2:$G$20" End Sub Private Sub Printout2_Click() ActiveSheet.PageSetup.PrintArea ="$F$2:$L$20" End Sub どこにも、ボタンのタイトル表示が見つからないので、変更できず困っています。 (非表示のSheetなどもありません) どなたか、ご存知の方がいらしゃったら、教えて下さい。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルマクロ(VBA)での手順
エクセルマクロ(Vba)にて、ご教示をお願い致します。 ユーザーフォーム上にデータをクリアするコマンドボタンを沢山貼り付けております。 一括クリアするボタンを作成したのですが長文になってしまいます。 Private Sub CommandButton101_Click() Call CommandButton1_Click Call CommandButton2_Click Call CommandButton3_Click Call CommandButton4_Click Call CommandButton5_Click Call CommandButton6_Click ↓ ↓ ↓ Call CommandButton50_Click End Sub 以下のような内容に置き換えたいのですが、上手くいきません。 For i = 1 To 50 Me.Controls ("CommandButton1" & i & "_Click") Next 本を片手に、やっておるのですが行き詰ってしまいました。 お知恵を拝借させてください。 よろしくお願いたします。
- ベストアンサー
- オフィス系ソフト
- エクセルVBAのマクロ文について
エクセルVBAで、シート上のボタン(フォーム)をクリックすると、UserForm1が表示されてその中のTextBoxに別のシートのセルに入力したいる値を表示させたくて、以下のようにボタン(フォーム)にマクロを入力したのですが、エラーがでてきてうまくいきません。 入力したマクロが間違っているのでしょうか? Sub ボタン1_Click() UserForm1.Show UserForm1.TextBox1 = Sheets("入力").Ranges("D11").Value End Sub すみませんが、ご存知の方、教えてくださいませんか?
- ベストアンサー
- その他MS Office製品
- Excel VBAでの定数宣言について
初心者が書籍とにらめっこしながらマクロを書いています。 お助けください。 複数あるラジオボタンをクリックしたら、そのラジオボタンの種類に応じて、特定の行を表示したり、非表示にしたりしたいと考えています。行の追加や削除で行番号が変わってしまった場合に備えて、この行番号を定数として宣言したいと思ったのですが、うまくいきません。 シートモジュールには、以下のように記述しています。 ============================================================== Private Sub OptionButton1_Click() 'ラジオボタン1を選択 Rows(scope1).EntireRow.Hidden = False 'scope範囲行を表示 Rows(scope2).EntireRow.Hidden = True 'scope範囲行を非表示 End Sub Private Sub OptionButton2_Click() 'ラジオボタン1を選択 Rows(scope1).EntireRow.Hidden = True 'scope範囲行を非表示 Rows(scope2).EntireRow.Hidden = False 'scope範囲行を表示 End Sub ============================================================== 以下の記述で定数を宣言したいのですが、 public const scope1 = "38:48" '38行目~48行目 public const scope2 = "49:52" '49行目~52行目 シートモジュールの最初に書くと、 「コンパイルエラー 定数、固定長文字列、配列、ユーザー定義型およびDeclareステートメントは、オブジェクトモジュールのパブリックメンバとしては使用できません」 とエラーメッセージが表示されてしまいます。 エラーの意味がよく分からないのですが、定数宣言は、どこに記述すればよいのでしょうか? お教えください。よろしくお願いします。
- ベストアンサー
- その他MS Office製品
- excel VBA 作成したUserFormにoptionButton
excel VBA 作成したUserFormにoptionButtonを多数配置しています。このUserFormをワークシート上に再表示すとる、チェック項目に入力したチェックが消えてしまいます。消えない方法が解りません。 private sub OptionButton1_Click() Activesheet.Shapes("図形1").Visible=False '図形1表示 End sub private sub OptionButton1_Click() Activesheet.Shapes("図形1").Visible=True '図形1非表示 End sub 同様な書式で数項目あります。 又、保存したワークシートを読み込んだ場合も同様に出来ないでしょうか。optionButtonのチェック項目が多数あります。チェック項目は図形を表示と非表示です。何方か良い方法がありましたら教えて頂けないでしょうか。宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルVBAマクロのオプションボタンについて
オプションボタンのマクロに関して教えて下さい。 マクロのスキルレベルは、新しいマクロの記録を多用して、マクロを組むレベルです。 「表示-ツールバー-フォーム」から選ぶオプションボタンを使って、オプションボタンAが押されている場合とBが押されている場合で、処理を変えたいのですが、そのオプションボタンの値をどうやっても拾えません。 色々検索した結果、以下のマクロでできる気がしたのですが、駄目でした。 Private Sub OptionButton1_Click() オプション1 = True End Sub Private Sub OptionButton2_Click() オプション2 = True End Sub Sub オプションボタン() If オプション1 = True Then Range("a1") = 1 ElseIf オプション2 = True Then Range("a1") = 2 Else Range("a1") = 0 End If End Sub 作ったオプションボタンを右クリックしてマクロ登録を選ぶと、「オプション1_Click」となっているので、「OptionButton1_Click」を「オプション1_Click」に変えてみたのですが、やっぱり駄目でした。 ネットではユーザフォームを使ったマクロ例はあるのですが、そのまま使用するオプションボタンの例がありません。できればユーザフォームは使いたくありません。 ご存知の方がいらっしゃいましたら、教えて下さい。よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルVBAの記述で・・・OTL
エクセルVBAの記述で・・・OTL VBA初心者です。 まず、私が記述した内容を書きます。 Sub 実践練習() Dim tuika As String tuika = Application.InputBox( _ Title:="追加", _ Prompt:="追加する内容を入力して下さい。", _ Left:=650, _ Top:=100, _ Type:=2) If Worksheets("Sheet2").Range("G10").Value <> " FALSE " Then MsgBox "OKです", vbOKOnly + vbDefaultButton2, "追加完了" With Worksheets("Sheet2") .Range("G10").Value = tuika LastRow = Worksheets("Sheet3").Range("A" & Rows.Count).End(xlUp).Row + 1 Worksheets("Sheet3").Range("A" & LastRow).Value = Worksheets("Sheet2").Range("G10").Value End With Else MsgBox "入力が不足しています。", vbOKOnly + vbCritical, "入力ミス" End If End Sub() 完成させたいことは・・・ Sheet1に存在するInputbox(ボタン)を使用し、 Sheet2のG10にFALSE以外が入力されたときは、 MsgBox追加完了のダイアログを表示してSheet2のG10値をSheet3のA列に順番に転送させる。 もしFALSEが入力されてしまったら、 MsgBox入力ミスを表示させて、 Sheet2のG10の値(FALSE)を削除しなさい。 と、記述したいのです。 勿論、上記の記述は完成していません(泣 どなたか、ご教授の程、何卒宜しくお願い致します。 (上記の完成型をお待ちしてます m(_ _)m ) 【環境】 OS:WindowsXP Pro Excel:2003
- ベストアンサー
- その他MS Office製品
- ポケトーク字幕のパソコンから直接入力は2022年1月から利用可能です。
- ソースネクスト株式会社の製品・サービスとして提供されています。
- 具体的な開始時期については公表されていませんが、来年の1月頃を予定しています。
お礼
うまくいきました。 本当にありがとうございました。