
No.5ベストアンサー
- 回答日時:
>最初のNo=3 最後のNo=4 という風に知らせるようにしたいです。
例を見る限りでは 最後のNo=5 では
Private Sub CommandButton2_Click()
Dim myDic As Object
Dim c As Range
Dim myStr As String, mykey As String
Dim v As Variant
Set myDic = CreateObject("Scripting.Dictionary")
With Worksheets("Sheet1")
For Each c In .Range("A1", .Cells(Rows.Count, "A").End(xlUp))
myStr = c.Offset(, 1).Value & "と" & c.Offset(, 2).Value
If myDic(myStr) = "" Then
myDic(myStr) = c.Value
Else
myDic(myStr) = myDic(myStr) & vbCrLf & c.Value
End If
Next
End With
mykey = Me.ComboBox1.Text & "と" & Me.ComboBox2.Text
If myDic.Exists(mykey) Then
v = Split(myDic.Item(mykey), vbCrLf)
MsgBox "最初のNo=" & v(0) & vbCrLf & _
"最後のNo=" & v(UBound(v))
Else
MsgBox mykey & " は、見つかりません。", 16
End If
Set myDic = Nothing
End Sub
No.4
- 回答日時:
TexBox1 に名字
TexBox2 に名前
データはSheet1に書かれているとしています。
TexBox1、TexBox2に入力後、コマンドボタン押下で動作します。
Private Sub CommandButton1_Click()
Dim myDic As Object
Dim c As Range
Dim myStr As String, mykey As String
Set myDic = CreateObject("Scripting.Dictionary")
With Worksheets("Sheet1")
For Each c In .Range("A1", .Cells(Rows.Count, "A").End(xlUp))
myStr = c.Offset(, 1).Value & c.Offset(, 2).Value
myDic(myStr) = c.Value
Next
End With
mykey = Me.TextBox1.Text & Me.TextBox2.Text
If myDic.Exists(mykey) Then
MsgBox mykey & vbTab & "No.:" & myDic.Item(mykey), 64
Else
MsgBox mykey & " は、見つかりません。", 16
End If
Set myDic = Nothing
End Sub
この回答への補足
いつもありがとうございます。ご回答いただいたものでできました!
大変申し訳ありませんがもう一つ教えてください。
A列に番号、B列とC列に数字が入力されています(500近いデータがあり、データ量は増減あり)
例
A列 B列 C列 D列 E列
1 2 1 阿藤 海
2 2 1 加藤 山
3 2 2 木村 一
4 2 2 齋藤 十三
5 2 2 佐藤 まさる
・ 2 3
・
・ 6 3
最終行 6 3 渡辺 慎吾
このようにデータがあり、ユーザーフォームのコンボボックスを使い、B列とC列の番号を入力した際にに、入力された数字に該当するデータの最初のA列の番号と最後のA列の番号を知らせるようにしたいのですが、可能でしょうか?
例であれば、コンボボックス1=2 コンボボックス2=2 と入力されたときに、最初のNo=3 最後のNo=4 という風に知らせるようにしたいです。
よろしくお願いいたします。
No.3
- 回答日時:
No.2です。
前回のコードでは1度限りの検索になってしまいますね!
これでは何度も検索したい場合、いちいちユーザーフォームを立ち上げなくてはならなくなりますので、
前回のコードの最後から2行目
>Unload Me
と消して
↓に変更してみてください。
With TextBox1
.Value = ""
.SetFocus
End With
TextBox2 = ""
これで続けて検索が可能だと思います。
どうも失礼しました。m(_ _)m
No.2
- 回答日時:
こんにちは!
一例です。
ユーザーフォームにコマンドボタンを配置し、コマンドボタンをクリックすると
実行されるようにしているという前提です。
同姓同名はいない!という前提ですが、同姓または同名があっても対応できるように
A列を挿入し、作業用の列として使用しています。
Private Sub CommandButton1_Click()
Dim endRow As Long, str1 As String, str2 As String, c As Range
str1 = TextBox1 '←「性」を入力するテキストボックス
str2 = TextBox2 '←「名」を入力するテキストボックス
endRow = Cells(Rows.Count, "A").End(xlUp).Row
Range("A:A").Insert
With Range(Cells(1, "A"), Cells(endRow, "A"))
.Formula = "=C1&D1"
.Value = .Value
End With
Set c = Range("A:A").Find(what:=str1 & str2, LookIn:=xlValues, lookat:=xlWhole)
If c Is Nothing Then
MsgBox "該当データなし"
Else
MsgBox c.Offset(, 1)
End If
Range("A:A").Delete
Unload Me
End Sub
こんな感じではどうでしょうか?m(_ _)m
No.1
- 回答日時:
>そういったことは可能でしょうか?
テキストボックスに入力した苗字=B列の苗字
且つ
テキストボックスに入力した名前=C列の名前
のときのA列の番号を取得することで可能かと思われます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) EXCEL 関数を教えてください。(A列の同じ値が複数ある場合vlookupで出来ますか) 4 2022/12/07 20:54
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Excel(エクセル) 別シートの表の値を参照したい 2 2022/03/30 15:11
- Excel(エクセル) excelにおける転記マクロの書き方 2 2023/05/12 03:16
- Excel(エクセル) エクセルで沢山のレコードの最後に追記するには? 7 2023/04/10 13:27
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- その他(プログラミング・Web制作) 入力フォームへ、データを自動的に入力するプログラム。どうやって作る? 4 2023/01/16 10:24
- Excel(エクセル) 【エクセル」 特定のセルで条件抽出した列を、別シートに上から詰めて表示したい。 8 2022/04/08 16:00
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Visual Basic(VBA) 列の最終行までのセルと1つ隣のセルの合計を別の列に表示 2 2022/07/12 19:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCEL VBAで教えてください。
-
vba 2つの条件が一致したら...
-
Excelで、あるセルの値に応じて...
-
A列にある値をB列・C列にVBAで...
-
【VBA】2つのシートの値を比較...
-
ERROR 型が一致しませんと...
-
エクセルVBA intersect colu...
-
難問 Scriptin.Dictionary VBA ...
-
URLのリンク切れをマクロを使っ...
-
エクセル 行をまたいだ計算式
-
VBAにてセルの値を移動させる方...
-
実力がなくマクロがわかりません。
-
Cellsのかっこの中はどっちが行...
-
VBA初心者の質問です(/ω\)
-
条件によりオートシェイプを操...
-
スプレッドシートのデータをGAS...
-
エクセル2003についてご質問で...
-
繰り返しマクロの書き方
-
シフト表を自動で作成する方法
-
Excel VBA マクロ ユーザーフォ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで、あるセルの値に応じて...
-
vba 2つの条件が一致したら...
-
Worksheets メソッドは失敗しま...
-
B列の最終行までA列をオート...
-
Cellsのかっこの中はどっちが行...
-
IIF関数の使い方
-
Changeイベントでの複数セルの...
-
【VBA】2つのシートの値を比較...
-
VBA 何かしら文字が入っていたら
-
URLのリンク切れをマクロを使っ...
-
VBAのFind関数で結合セルを検索...
-
DataGridViewに空白がある場合...
-
VBAを使って検索したセルをコピ...
-
文字列の結合を空白行まで実行
-
データグリッドビューの一番最...
-
VBAでのリスト不一致抽出について
-
エクセル 2つの表の並べ替え
-
rowsとcolsの意味
-
【Excel VBA】 B列に特定の文字...
-
VBA 列が空白なら別のマクロへ...
おすすめ情報