過去ログ

                                Page      32
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼エクセルでのイベントについて。。。  バジル 02/9/4(水) 13:35
   ┗Re:エクセルでのイベントについて。。。  つん 02/9/4(水) 13:48
      ┗Re:エクセルでのイベントについて。。。  バジル 02/9/4(水) 15:09
         ┗ByValって・・・・  つん 02/9/4(水) 15:36
            ┗Re:ByValって・・・・  バジル 02/9/4(水) 16:08

 ───────────────────────────────────────
 ■題名 : エクセルでのイベントについて。。。
 ■名前 : バジル
 ■日付 : 02/9/4(水) 13:35
 -------------------------------------------------------------------------
   はじめまして。
初歩的な質問ですが、マクロを発生させるタイミングについて教えてください。

たとえばAccessでしたら、テキストボックスのAfterUpdateやフォームのForm_Open
などのイベントがあると思うのですが、手持ちの本を見るとExcelの場合はコマンド
ボタンのクリック時しか紹介されておりません。
Excelにも起動時とかセルがアクティブになった時などのイベントがあるのでしょうか?

例えば。。。
A2がアクティブだった場合、A1にコマンドボタンなどを使わずに、自動的に
指定した文章を表示したいと考えているのですが。。。。
無理なんでしょうか?
よろしくお願いします。m(._.)m
 ───────────────────────────────────────  ■題名 : Re:エクセルでのイベントについて。。。  ■名前 : つん <honey@sweetparty.ne.jp>  ■日付 : 02/9/4(水) 13:48  -------------------------------------------------------------------------
   バジル さん、こんにちは。はじめまして

>Excelにも起動時とかセルがアクティブになった時などのイベントがあるのでしょうか?

コントロールのイベント以外にも、アプリケーションのイベントやシートのイベント等いろいろ用意されています。
でも、「セルがアクティブになったとき」というイベントはないなあ・・・

>例えば。。。
>A2がアクティブだった場合、A1にコマンドボタンなどを使わずに、自動的に
>指定した文章を表示したいと考えているのですが。。。。
>無理なんでしょうか?

こういう場合は、WorksheetのSelectionChangeを使えばええやろか?
こんな感じ

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

  If Target.Address = "$A$2" Then
    Range("A1").Value = "あいうえお"
  Else
    Range("A1").Value = ""
  End If
    
End Sub

これで、いちおう、A2にカーソルが移動したときに、A1に文字列が表示され、
A2からカーソルがよそへ移動したときに、消えます。

こんなんでどうでしょう?
直接A1に別の文字を入力したときも、よそへ移動したら消えてしまいますが・・・
 ───────────────────────────────────────  ■題名 : Re:エクセルでのイベントについて。。。  ■名前 : バジル  ■日付 : 02/9/4(水) 15:09  -------------------------------------------------------------------------
   ▼つん さん:
>バジル さん、こんにちは。はじめまして

つん さん、はじめまして。うまくいきました!ありがとうございます!!

ByValというのは初耳でしたので、さっそくヘルプで調べましたが
キーワードというだけで使い方がよくわかりませんでした。
お手数ですが、どんな時に使うとよいのか教えていただけるとうれしいです。

>コントロールのイベント以外にも、アプリケーションのイベントやシートのイベント等いろいろ用意されています。

余談になりますが。。。
ソフト会社が作ったXlsが入っているマシンでやるとうまく動きませんでした。
どうやら起動時にマクロが走っているようでそれが邪魔をしているようなのです。
違うマシンに変えたらうまく動いてくれました。
別件になりますので、別スレを立ち上げたいと思います。
今後とも宜しくお願いいたします。
 ───────────────────────────────────────  ■題名 : ByValって・・・・  ■名前 : つん <honey@sweetparty.ne.jp>  ■日付 : 02/9/4(水) 15:36  -------------------------------------------------------------------------
   >つん さん、はじめまして。うまくいきました!ありがとうございます!!
良かったです(^o^)

>ByValというのは初耳でしたので、さっそくヘルプで調べましたが
>キーワードというだけで使い方がよくわかりませんでした。
>お手数ですが、どんな時に使うとよいのか教えていただけるとうれしいです。

引数が値渡しで渡される、ということですね。
実は、私もあまりきちんと把握してないです・・・(^^;

過去ログを検索してみたら、ちょっと良さそうな記事がありました。
こちら↓見てみてちょ♪
http://www21.tok2.com/home/vbalab/bbs/c-board.cgi?cmd=one;no=9723;id=Excel

ちょっと長いスレッドだけど、前後も読んでみたほうがいいかも・・・

うー、この場合、種類は「回答」になるのか「発言」でいいのか・・・悩む(>_<)
 ───────────────────────────────────────  ■題名 : Re:ByValって・・・・  ■名前 : バジル  ■日付 : 02/9/4(水) 16:08  -------------------------------------------------------------------------
   つんさん、重ね重ねありがとうございました。

>過去ログを検索してみたら、ちょっと良さそうな記事がありました。
>こちら↓見てみてちょ♪
>http://www21.tok2.com/home/vbalab/bbs/c-board.cgi?cmd=one;no=9723;id=Excel
    ↑
これも勉強になりました。
慣れないExcelで奮闘していますので、これからもお世話になると思います。
どうぞよろしくお願いします。m(._.)m
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 32