エクセルのVBAでお願いします。A1からA5まで次のような文字列データがあるとします。

○は文字、_は半角スペース。半角スペースと半角スペースの間の空白は本当はありませんが、ここでは見やすくするためにスペースを入れてあります。
これを、
○○○_○○○_○○○
_ _ _ _○○○_○○○_○
_ _○○○_○○○○
_ ○○○○_○○○_○
○○○_○_○
次のように、最初の半角スペース(1~4こ)だけ消したいのです。
○○○_○○○_○○○(何もしない)
○○○_○○○_○
○○○_○○○○
○○○○_○○○_○
○○○_○_○(何もしない)

しかも、置換後のデータは同じA1からA5にできますか。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/08/24 11:31:27
  • 終了:2006/08/24 11:51:18

回答(3件)

id:jyarisan No.1

じゃりてん回答回数236ベストアンサー獲得回数42006/08/24 11:39:38

ポイント40pt

http://q.hatena.ne.jp/answer

URLはダミー


dim i as long

for i = 1 to 5

cells(i,1) = ltrim(cells(i,1))

next

でどうでしょう??

id:anglar

凄い!!完璧です。ありがとうございました!!

2006/08/24 11:50:14
id:ota2244 No.2

ota2244回答回数77ベストアンサー獲得回数42006/08/24 11:42:04

ポイント40pt

http://www.hatena.ne.jp/

URLはダミーです。


LTrim関数を使います。


Public Sub func()

 Dim row As Long


 For row = 1 To 5

  ActiveSheet.Cells(row, 1) = LTrim$(ActiveSheet.Cells(row, 1))

 Next

End Sub



これで大丈夫だと思います。

id:anglar

凄い!!完璧です。ありがとうございました!!

お二人とも凄いです。

2006/08/24 11:50:34
id:rikuzai No.3

りくっち回答回数1366ベストアンサー獲得回数1412006/08/24 11:50:11

ポイント10pt

行頭行末以外の文字の間のスペースが1つならば、

VBAを使わなくても関数で十分だと思います。

B列にデータを書き出すとして、

B1=TRIM(A1)

以下フィルコピーで行頭のスペースが除去されたデータが表示されます。

http://q.hatena.ne.jp/1156386686

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません