VBA(ExecuteExcel4Macro)を用いた検索ツール
はじめまして。
当方Excel2007、winXPでの環境下でVBAを用いた検索ツールを作成しています。
検索対象のxlsファイルには1行目に郵便番号、氏名、住所の項目タイトル、2行目以降にデータが入力されています。
【現在の仕様】
検索対象のxlsファイルを選択→検索したい氏名(3つまで)を入力すると氏名列を順に検索し、該当した氏名のみをシートへ出力
【作りたい仕様】
検索対象のxlsファイルを選択→検索したい氏名(3つまで)を入力すると氏名列を順に検索し、該当した氏名の入力された行をシートへ出力
現在のソースは下記になりますが、どのように書き変えればいいのかが分からず困っています。
教えていただけたらと思います。よろしくお願いいたします。
-------------------------
(略)
''対象ブックを選択します
OpenFileName = Application.GetOpenFilename("Microsoft Excel ブック,*.xls")
If OpenFileName = "False" Then Exit Sub
OpenFileName = Replace(OpenFileName, Dir(OpenFileName), "[" & Dir(OpenFileName) & "]")
SheetName = InputBox("読み込むワークシート名を入力してください。")
If SheetName = "" Then Exit Sub
Target = "'" & OpenFileName & SheetName & "'!"
On Error Resume Next
buf = ExecuteExcel4Macro(Target & "R1C1")
If Err <> 0 Then
MsgBox "ワークシート [ " & SheetName & " ] を読めませんでした。", vbExclamation
Exit Sub
End If
On Error GoTo 0
key1 = InputBox("検索したい氏名1を入力してください。")
If key1 = "" Then
Exit Sub
End If
key2 = InputBox("検索したい氏名2を入力してください。")
If key2 = "" Then
Else
key3 = InputBox("検索したい氏名3を入力してください。")
End If
For i = 1 To 256
If ExecuteExcel4Macro(Target & "R1C" & i) = "名前" Then
TargetCol = i
Exit For
End If
Next i
If TargetCol = 0 Then
MsgBox "[ 名前 ]フィールドが見つかりません。", vbExclamation
Exit Sub
End If
Dim clm As Integer
For i = 2 To 10000
buf = ExecuteExcel4Macro(Target & "R" & i & "C" & Target
If buf = "0" Then Exit For
If buf = key1 Then
Sheet3.Cells(w, 3) = buf
w = w + 1
ReDim Preserve GetNames(i - 1)
GetNames(i - 1) = buf
ElseIf buf = key2 Then
Sheet3.Cells(w, 3) = buf
w = w + 1
ReDim Preserve GetNames(i - 1)
GetNames(i - 1) = buf
(略)
-----------------
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
質問の文言、及び提示のコードにはいくつか問題点がありますが、
ま、それは置いといて。。。
●郵便番号、氏名、住所、、、と並んでいたら
----------------------------
If buf = key1 Then
Sheet3.Cells(w, 2) = ExecuteExcel4Macro(Target & "R" & i & "C" & TargetCol - 1)
Sheet3.Cells(w, 3) = buf
Sheet3.Cells(w, 4) = ExecuteExcel4Macro(Target & "R" & i & "C" & TargetCol + 1)
----------------------------
以上です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) ユーザーフォームの表示を追加したい 2 2023/03/26 23:18
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Visual Basic(VBA) InputBoxでキャンセルボタンを押したらファイル自体を閉じたい 3 2022/07/23 17:52
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストボックスの番号を使っ...
-
教えて!全角文字「μ」の半角
-
エクセルVBA テキストボックス...
-
VBAの質問になります メッセー...
-
Windowsのアプリ開発ってなんの...
-
初歩的な事だと思います。 Sub...
-
excel vba でユーザーフォーム...
-
入力フォームの値をQRコードで...
-
Excel-VBAでInputBox+Pulldown...
-
検索候補に見られたくないキー...
-
VBA エクセル 条件の設定
-
EXCEL VBA のユーザーフォーム...
-
アクセスのマクロ
-
VBAでInputBoxの再入力をさせる...
-
ExcelVBAのユーザーフォームで...
-
「イ分」・・・フンという文字...
-
携帯サイト作成 半角数字(半角...
-
EXCEL VBA で指定した範囲に入...
-
ExcelVBA No.を自動連番で設定...
-
数字以外の入力をエラーにする...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA テキストボックス...
-
テキストボックスの番号を使っ...
-
初歩的な事だと思います。 Sub...
-
数字以外の入力をエラーにする...
-
EXCEL VBA で指定した範囲に入...
-
Excel-VBAでInputBox+Pulldown...
-
入力フォームの値をQRコードで...
-
VBAの質問になります メッセー...
-
c#でTextBoxの入力制限
-
VBAで質問があります
-
教えて!全角文字「μ」の半角
-
VBAでInputBoxの再入力をさせる...
-
excel vba でユーザーフォーム...
-
TextBoxから数字が文字...
-
エディットボックスの入力制限...
-
accessで該当するレコードがな...
-
DataGridViewの桁数制限に関して
-
VBA R1C1形式で変数の入力について
-
「イ分」・・・フンという文字...
-
Windowsのアプリ開発ってなんの...
おすすめ情報