• ベストアンサー

VBA初心者

EXCELのA列のセル(データが常に一定ではありません、A10までだったり、A20まであったりします)の先頭の文字を1字だけ一括して削除したいのですが、どしてもマクロが組めません。ご教授して頂ければ幸いです。宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

Sub del_1chr() Dim Hanni As Range Dim C As Range Set Hanni = Range("A1", Range("A65536").End(xlUp).Address) For Each C In Hanni If C.Value <> "" Then C.Value = Right(C.Value, Len(C.Value) - 1) Next End Sub で、いかがでしょう?

surprise
質問者

お礼

ありがとうございます。 大変、役に立ちました。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

質問の意味があいまいな点があるが(A列データの始まりを一定行に仮定してよいのか。)下記でどうでしょう。決まっていない(一定でない)と仮定。 Sub test02() d1 = Range("a1").End(xlDown).Row d2 = Range("A65536").End(xlUp).Row MsgBox d1 MsgBox d2 For i = d1 To d2 Cells(i, "A") = Right(Cells(i, "A"), Len(Cells(i, "A")) - 1) Next i End Sub

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.2

ABC を BC のように先頭1文字を消したいって意味? Sub Test() Dim r As Range  For Each r In Range(Range("A1"), Range("A65536").End(xlUp))   r.Value = Mid(r.Value, 2, Len(r.Value))  Next r End Sub A001のようなデータの場合は 1 になっちゃうけど。

関連するQ&A