プロが教える店舗&オフィスのセキュリティ対策術

こんばんは。

VBA初心者です。

今、エクセル2003で以下の画像のような
表を作りました。

今、行いたい処理は、B列のセルの
文字列の左から3文字を上から調べていって、

もし「新宿区」であれば、(東京)新宿区
と表示する、置換コードをつくりたいのです。

なお、1行目の「東京都新宿区」の場合は、そのままスル―
でいいです。

該当する行は、左の連番が空白でない間なので
そのコードは以下のように作成できました。

DO~LOOPの間の上記のLEFT関数の処理が
うまくできませんでしたので、教えてください。

よろしくお願いします。

Sub sample()

Dim num As Integer
num = 1
Do Until Cells(num, 2).Value <> ""


num = num + 1
Loop
End Sub

※添付画像が削除されました。

A 回答 (1件)

練習のためであれば,そういうのも良いかもしれませんが。

。?


if left(cells(num, 2), 3) = "新宿区" then
cells(num, 2) = "(東京)" & cells(num, 2)
end if



ところで
>該当する行は、左の連番が空白でない間なので

あなたが書いたのは,そういうマクロになっていません。

sub sample2()
 dim h as range
 for each h in range("B1:B" & cells(cells.rows.count, 1).end(xlup).row)
  if left(h.value, 3) = "新宿区" then
   h.value = "(東京)" & h.value
  end if
 next
end sub
    • good
    • 0

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