Excel VBA質問箱 IV

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

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


6279 / 13646 ツリー ←次へ | 前へ→

【46204】テキストボックスの入力方法? マクロ素人 07/1/26(金) 16:22 質問[未読]
【46207】Re:テキストボックスの入力方法? Kein 07/1/26(金) 17:00 回答[未読]
【46211】Re:テキストボックスの入力方法? マクロ素人 07/1/26(金) 17:22 質問[未読]
【46214】Re:テキストボックスの入力方法? Kein 07/1/26(金) 17:42 回答[未読]
【46215】Re:テキストボックスの入力方法? マクロ素人 07/1/26(金) 17:51 お礼[未読]

【46204】テキストボックスの入力方法?
質問  マクロ素人  - 07/1/26(金) 16:22 -

引用なし
パスワード
   すいません教しえて下さい。

Private Sub TextBox1_Change()
On Error GoTo trap
CodeName = TextBox1.Value

    Set P = Columns("A").Find(What:=CodeName, After:=Range("A1"), LookIn:=xlFormulas, _
    LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
    MatchCase:=False)


If Not P Is Nothing Then
  Label5 = Cells(P.Row, 3)
Else
  Label5 = "該当なし"
End If


trap:
End Sub
のテキストボックス1に今までは番号(数字)を入力していましたが、カナで入力したのですがうまく反映する方法がわかりません。どなたか教えて下さい

コピーしたので解りづらいかも・・すいません

【46207】Re:テキストボックスの入力方法?
回答  Kein  - 07/1/26(金) 17:00 -

引用なし
パスワード
   イマイチ意味がよく分からないのですが、A列には数値(整数)が入力されている
のですよね ? ならば

Private Sub TextBox1_Change()
  Dim CodeName As Long
  Dim Ck As Variant

  With TextBox1
   If .Value = "" Then Exit Sub
   If Not IsNumeric(.Value) Then Exit Sub
   CodeName = CLng(.Value)
  End With
  Ck = Application.Match(CodeName, Range("A:A"), 0)
  If IsError(Ck) Then
   Label5.Value = "該当なし"
  Else
   Label5.Value = Cells(Ck, 3).Value
  End If
End Sub

ぐらいでどうかな・・?

【46211】Re:テキストボックスの入力方法?
質問  マクロ素人  - 07/1/26(金) 17:22 -

引用なし
パスワード
   ▼Kein さん:
>イマイチ意味がよく分からないのですが、A列には数値(整数)が入力されている
>のですよね ? ならば
>
>Private Sub TextBox1_Change()
>  Dim CodeName As Long
>  Dim Ck As Variant
>
>  With TextBox1
>   If .Value = "" Then Exit Sub
>   If Not IsNumeric(.Value) Then Exit Sub
>   CodeName = CLng(.Value)
>  End With
>  Ck = Application.Match(CodeName, Range("A:A"), 0)
>  If IsError(Ck) Then
>   Label5.Value = "該当なし"
>  Else
>   Label5.Value = Cells(Ck, 3).Value
>  End If
>End Sub
>
>ぐらいでどうかな・・?


すいません質問の仕方が間違っていました。
今まで検索値を数字(整数)でこのコードを使用していたのですが、別のシートでカナ入力(半角カナの文字列を検索値に)で使用できないかな?ということでした。

【46214】Re:テキストボックスの入力方法?
回答  Kein  - 07/1/26(金) 17:42 -

引用なし
パスワード
   つまり、アクティブシートが変化しても対応できるようにしたい
ということですか ? ならば Sheet1 と Sheet2 で分岐するとして

Private Sub TextBox1_Change()
  Dim Code As Long
  Dim FSt As String
  Dim Ck As Variant

  If TextBox1.Value = "" Then Exit Sub
  Select Case ActiveSheet.Name
   Case "Sheet1"
     If Not IsNumeric(TextBox1.Value) Then Exit Sub
     Code = CLng(TextBox1.Value)
     Ck = Application.Match(Code, Range("A:A"), 0)
   Case "Sheet2"
     If IsNumeric(TextBox1.Value) Then Exit Sub
     FSt = TextBox1.Text
     Ck = Application.Match(FSt, Range("A:A"), 0)
  End Select    
  If IsError(Ck) Then
   Label5.Value = "該当なし"
  Else
   Label5.Value = Cells(Ck, 3).Value
  End If
End Sub

他のシートにも対応させたいなら、Case節に条件を追加するだけです。

【46215】Re:テキストボックスの入力方法?
お礼  マクロ素人  - 07/1/26(金) 17:51 -

引用なし
パスワード
   Kein さん

大変参考になりました。ありがとうございました。

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