Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7246 / 13645 ツリー ←次へ | 前へ→

【40347】Worksheet_SelectionChangeイベントの使... ハナ 06/7/12(水) 8:57 質問[未読]
【40350】Re:Worksheet_SelectionChangeイベントの使... Statis 06/7/12(水) 9:16 回答[未読]
【40353】Re:Worksheet_SelectionChangeイベントの使... ハナ 06/7/12(水) 10:58 お礼[未読]

【40347】Worksheet_SelectionChangeイベントの使...
質問  ハナ  - 06/7/12(水) 8:57 -

引用なし
パスワード
   ワークシートのA列に仕入先コードを入力するとB列に仕入先名を出力する
コードを下記のように書いたのですが、
A列入力後 ENTER しても何も出力してくれず、改めて入力したセルを
ポインターで選択すると出力したりするといった、不安定な動作をします。
所定の動作をするようなコードに修正するためのご指導いただけないでしょうか
どうぞよろしくお願いします。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim SMCODE As Variant
With Target
  If .Column = 1 Then
    Set Con = New ADODB.Connection
    SMCODE = .Value
    Con.Open "DSN=TEST"
    Con.Execute ("SET NAMES sjis")
    msql = "select SNAME FROM SM01 "
    msql = msql & " WHERE SCD = '" & SMCODE & " ';"
    Set Rst = New ADODB.Recordset
    Rst.Open msql, Con
    If Rst.EOF Then
      .Interior.ColorIndex = 3
      Exit Sub
    End If
    .Offset(0, 1).Value = Rst!SNAME
    Rst.Close
    Set Rst = Nothing
    Con.Close
    Set Con = Nothing
  End If
End With
End Sub

【40350】Re:Worksheet_SelectionChangeイベントの...
回答  Statis  - 06/7/12(水) 9:16 -

引用なし
パスワード
   こんにちは

>A列入力後 ENTER しても何も出力してくれず、改めて入力したセルを
>ポインターで選択すると出力したりするといった、不安定な動作をします

記載のイベントが違うからではないでしょうか?
入力後なら下記のイベントです。

Private Sub Worksheet_Change(ByVal Target As Range)

記載のイベントはセルがアクティブになっとき動作するイベントです。

【40353】Re:Worksheet_SelectionChangeイベントの...
お礼  ハナ  - 06/7/12(水) 10:58 -

引用なし
パスワード
   ▼Statis さん
ご指摘ありがとうございます
>記載のイベントが違うからではないでしょうか?
>入力後なら下記のイベントです。
>Private Sub Worksheet_Change(ByVal Target As Range)
完全にご指摘通りでした
思い込みは恐ろしいです・・・・ 
何時間も他の原因を探していましたので、本当に助かりました
ありがとうございます

7246 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free