Excel VBA質問箱 IV

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

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


58932 / 76732 ←次へ | 前へ→

【22519】Re:検索方法を教えて下さい
回答  G-Luck  - 05/2/23(水) 11:55 -

引用なし
パスワード
   ▼たかし さん:
>はじめまして。
>VBA初心者で、分からないことだらけなのですが、本を見ながらがんばってます。
>
>UserformにあるTextBoxに数字が入力されて、CommandButtonクリックで、A列の
>下から検索し文字が入力されているセルの1行下に通し番号を入力し、同じ行のB列に
>TextBoxの値を入力するマクロを作りました。
>この入力された数値がB列にすでに入力されていた場合にMesBoxを出し、A列、B列の
>数値を削除したいのですが、どうすればいいのでしょうか?
>
>宜しくお願いします。

値を代入する前に、判定をもうけて同じ値が無い場合に代入するというようにしてはいかがでしょうか?

サンプルコードは最後に示します。

解説をつけますと
  Set rg = Range("B:B").Find(TextBox.Value)
B:Bの範囲でTextBoxと同じ値のセル(複数ある場合は最初のセル)をrgに代入する

  rg Is Nothing
Nothingは、何も代入されていない状態なので、
rgに何も入力されていない場合、Trueを返します。(オブジェクト比較)

Private Sub test()

  Const myMessage As String = "同じ値が入力されています"
  Dim rg As Range
  
  Set rg = Range("B:B").Find(TextBox.Value)
  If rg Is Nothing Then
    '代入処理
  Else
    MsgBox myMessage
  End If
End Sub

0 hits

【22515】検索方法を教えて下さい たかし 05/2/23(水) 11:15 質問
【22519】Re:検索方法を教えて下さい G-Luck 05/2/23(水) 11:55 回答
【22521】Re:検索方法を教えて下さい たかし 05/2/23(水) 12:42 お礼
【22531】Re:検索方法を教えて下さい たかし 05/2/23(水) 14:57 質問
【22534】Re:検索方法を教えて下さい G-Luck 05/2/23(水) 15:11 回答
【22544】Re:検索方法を教えて下さい たかし 05/2/23(水) 16:19 お礼

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