アプリ版:「スタンプのみでお礼する」機能のリリースについて

シート1に京都府の全市町村(町名・番地まで)の郵便番号一覧があるとします。 (A列に郵便番号 B列に市町村 C列に番地 という感じ)シート2でMsBOXで "検索したい住所入力" と出力されて 入力すると 該当する住所が表示されるようなVBAは作成可能でしょうか?うまく表現できませんがぜひご教授ください。

A 回答 (6件)

検索したい住所とは、B列に存在するデータ?



>該当する住所が表示されるようなVBAは作成可能でしょうか?
シート1から条件に合うデータをシート2に転記すると言う事?
    • good
    • 0

こんな感じかな?



Sub Find()
Dim SearchWord As String, FR As Range

SearchWord = InputBox("検索したい住所入力", "検索")

With Worksheets("Sheet1").Range("A1:C5")

Set FR = .Find(What:=SearchWord, LookIn:=xlValues, LookAt:=xlWhole)

If Not FR Is Nothing Then
Sheets("Sheet1").Select
Range(FR.Address).Select
End If

End With

Set FR = Nothing

End Sub
    • good
    • 0

こんにちは。



>シート2でMsBOXで "検索したい住所入力" と出力されて 入力すると 

郵便番号検索だったら、VLOOKUPやMATCH関数で出来ますし、もともと、IMEの変換で可能です。

VBAでは、どちらかというと、フィルターオプションを使った方式が良いのです。これをマクロに組み込むのですが、記録マクロで作ったもので十分に応用できます。一度、ためしに、フィルターオプションで、自分で出来るかやってみてください。それを記録マクロにしてみて、それを、組み合わせるようにします。プログラムが組める人でも、VBAをほとんど知らない人でも、これに関しては、そんなに出来上がりは変わらないのです。
    • good
    • 0

あぁ、ごめんなさい。


余計な行も入ってますね。適当に直してください。
それよりVLOOKUP関数使った方がいいかと思いますが。
    • good
    • 0
この回答へのお礼

早速の解凍ありがとうございます。 シート2に "南区"と入力すると南区を含む住所がズラリとでてくるような感じで考えています。

お礼日時:2007/09/21 13:45

シート1の1行目が項目行とした場合のサンプル。



Sub test()
Dim ws As Worksheet
Dim r1 As Range
Dim rr As Range
Dim v

v = InputBox("検索したい住所", "住所入力")
If v = "" Then Exit Sub

Set ws = Worksheets("Sheet2")
ws.Cells.ClearContents

With Worksheets("Sheet1")
Set r1 = .Range(.[A1], .Cells(Rows.Count, "C").End(xlUp))
r1.AutoFilter
r1.AutoFilter 2, "*" & v & "*"
Set rr = .Range(.[A1], .Cells(Rows.Count, "C").End(xlUp))
rr.Copy ws.Range("A1")
r1.AutoFilter
End With
End Sub

ご参考になれば。

この回答への補足

ありがとうございます。もう少し勉強します!

補足日時:2007/09/21 22:11
    • good
    • 0

質問の表現がおかしいよ。

下記を読んで読み返してご覧、おかしいよ。
シート1には、「郵便番号一覧」といっているが、むしろ住所録では無いの。
シート2において入力する条件は「検索したい住所入力」といっているが、郵便番号を入力するのか、住所漢字(あるいは番地を除く部分か?)すなわち府県、市区町村、町字などかはっきりしない。
ーーー
エクセルVBAであればWEBでFindメソッドの照会をして勉強のこと。
xlPart という指定も勉強のこと。
初めの行から全行舐めてInstr関数で調べ手もあるが。
Findメソッドは
http://oshiete1.goo.ne.jp/qa1616728.htmlなど多数。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!