dポイントプレゼントキャンペーン実施中!

とあるWebサイトにある住所を取り出すVBAマクロにて質問です。

-----
大阪府 堺市 御好焼町1-1 たこ焼きマンション888号
※実際に住所はスペースで区切られています
-----
上記を
(都道府県)(区市町村)(住所01)(住所02)(アパートorマンション名)
-----
とセルに分割して取得したいです。


(抜粋)
--------
Var = Split(ObjTD.innerText, vbNewLine)
arr(3, i) = Replace(ObjTr.getElementsByClassName("decCnfWr")(2).innerText, " ", "") 'address
--------
Function Write_Book(arr As Variant) As Variant
Dim Bk As Workbook
Application.ScreenUpdating = False
Set Bk = Workbooks.Add
Dim i, i2 As Long
Dim Tmstanmp As String
With Bk.Worksheets(1)
.Cells(1, 6) = "宛先住所1" 'address
On Error Resume Next
For i = 2 To UBound(arr, 2)
.Cells(1, 6) = arr(3, i) '住所連結
--------

上記マクロを実行すると
--------
大阪府堺市御好焼町1-1たこ焼きマンション888号
--------
半角スペースを削除して連結した住所として取得することができています。


半角スペース毎にセルに分割して取得したい場合は、このあと、どのように記述を追加/削除をしたらよいのでしょうか。
よろしくお願い致します!

A 回答 (4件)

こんにちは



元の文字列がどれなのかはっきりしないけれど…
(ObjTr.getElementsByClassName("decCnfWr")(2).innerTextっぽいですけれど)

単純に、半角空白で分割したいのなら、

addr = "大阪府 堺市 御好焼町1-1 たこ焼きマンション888号"

arry = Split(addr, " ")
For i = LBound(arry) To UBound(arry)
 Debug.Print arry(i)
Next i

'**** 結果 ****
' 大阪府
' 堺市
' 御好焼町1-1
' たこ焼きマンション888号

とか?
    • good
    • 0

取得後の分割は、「CSVデータの取得方法」が参考になると思います

    • good
    • 0

No.1さんの言う通り、落としてきてから。


スペースで分割し、配列に格納し、順番にセルに反映させるだけ。
    • good
    • 0

取得後に分割するほうが良いかと思います

    • good
    • 0

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