- ベストアンサー
エクセルで技術的な質問
エクセルでHELPのアシスタント(いるかなど)の吹き出しメッセージに、任意の説明文を表示させるにはどうすればいいのでしょうか? 例えば、あるセルをクリックした時、「ここに~を入力してください」と表示したいのですが…。 あと、入力したものをテキストファイルとして出力させるにはどうすればいいのでしょうか? シート上にボタンを作って、それをクリックするとメモ帳のテキストファイルが作られるというのをしたいのですが…。 これは上級技なのでしょうか? ある程度エクセルは使い慣れているのですが、 こういったものは良く分かりません。 上級への第一歩として知りたいと思います。 また、こういった類のテクニックの説明が載っているサイト、本があれば教えてください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
あるセルがクリックされたということを調べるには、 VBAエディタで thisworkbookで [Workbook][SheetBeforeDoubleClick] で次の様に書いて下さい。 Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) If Target.Address(RowAbsolute:=False, ColumnAbsolute:=False) = "B2" Then Call AssistantSay("このセルには「生年月日」を入力して下さい", "入力データの種類") End If End Sub 上記の例は、B2のセルをダブルクリックした時、メッセージを表示します。 アシスタントを使ってメッセージを表示するには、 標準モジュールに次のプロシージャを書いて下さい。 Public Sub AssistantSay(msg As String, title As String) Assistant.Visible = True Assistant.Animation = msoAnimationBeginSpeaking With Assistant.NewBalloon .BalloonType = msoBalloonTypeBullets 'select of:Numbers,Buttons or Bullets .Icon = msoIconNone .Button = msoButtonSetOK .Heading = title .Labels(1).Text = msg .Show End With End Sub 同じく Public Sub memo() Shell ("notepad") End Sub の様に書いて、ボタンに割り当てすることでノートパッドを起動することができます。 コピーペーストすればいいですね。
その他の回答 (4)
- imogasi
- ベストアンサー率27% (4737/17069)
#3です。 >テキストファイル(メモ帳)に出力されるというのをやってみたいんです これは、マクロでもできますが、手操作でもできます。 >ボタンに拘っていますが、泥臭く(なぜ泥臭いかは略)いやり方は、ボタンをシートに沢山貼りつけ Private Sub CommandButton1_Click() ActiveCell = "今日は涼しい。" End Sub のようなのを、沢山書き連ねて(Button1の1を変化させ 、文句を変える)やれば、できます。
お礼
ありがとうございます。 個人的にいろいろ試してみたいと思います。
- imogasi
- ベストアンサー率27% (4737/17069)
この問題は、「上級技」で、「技術的」な問題と思います。それは3点からです。 (1)ヘルプを扱う 3年間エクセルの質問をほぼ全て見てますが、始めてだと思います。レアな話題です。 実際は質問内容は、私見ではヘルプがらみではないと思う? (2)VBAがらみ VBA(マクロ)を使わなければならないようです。 (3)ボタンを作って、それをクリックすると マウスで何か動作をしたとき、何々をさせると言うのは マクロVBAの中でもイベントプロシージュアというタイプのことを使わなければなりません。VBA中級以上でしょう。 そういうのもできますが、文章の数が多いとボタンの扱いが難しくなります。 数が多いと、全国の中で府県を選び、その府県の中の市を選ぶような多段選択の要求が出て来るでしょう。それも難しい。20以下なら(A)入力規則のリストボックスか(B)ただのリストボックスを使えば良いです。 (B)の例を示します。 Sheet1のF1:F8に下記を貼りつける。どこでも良いし、文句は何でもよい。 秋来ぬと 目にはさやかに みえねども 風のおとにぞ 驚かれぬる 秋の苫屋の 佐野のとまりの 秋の夕暮れ Sheet1にリストボックスを1つ貼りつける。 右クリックし、プロパティをクリック。 プロパティボックスのListFillRangeの行にF1:F7と入れる。 リストボックスの中でダブルクリックする。 自動的にVBEの画面が開く。 Private Sub ListBox1_Click() End Sub が出るから Private Sub ListBox1_Click() ActiveCell = ListBox1.List(ListBox1.ListIndex) End Sub のようにする。(この文より、1行コピペする)。 実行メニューの「デザインモードの終了」をクリック。 Sheet1に戻って、文句を入れたいセルをポイントしておいて、リストボックスのどれか1行をクリック。 アクチブセルに、文句が入ります。 したいのはこういうイメージではないでしょうか。
お礼
丁寧な説明をありがとうございます。 分かりやすく、若干高度なことができた気分です。 リストボックスではないんですが、クリックして出力するという意味ではイメージ的にはこういう感じだと思います。 コマンドボタンをクリックすると、エクセルで入力したデータ(数値など)がテキストファイル(メモ帳)に出力されるというのをやってみたいんです。 どうやらVBAのプログラムを理解する必要がありそうですね。 HELPがらみではないというのは、そのようです。 ただ、HELPのマスコットを何か別な用途で使ってみたいと思っただけです。
- hana-hana3
- ベストアンサー率31% (4940/15541)
- 134
- ベストアンサー率27% (162/600)
とりあえず一つだけ。 ヘルプの説明文を特定のセルに… というのは、 ツール→入力規則 で「入力時メッセージ」タグを選んで、本文を入力すると可能かと思います。 メモ帳については、マクロか何かで作成したもの…と、個人的に想像しています。
お礼
ありがとうございます。 マクロですか。これはちょっと分かりませんね…。 「マクロの記録」は使ったことありますが…。
お礼
そこまで書いていただいて本当にありがとうございます。 これを応用して何かやってみたいと思います。