人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルのVBAでお願いします。A1からA5まで次のような文字列データがあるとします。
○は文字、_は半角スペース。半角スペースと半角スペースの間の空白は本当はありませんが、ここでは見やすくするためにスペースを入れてあります。
これを、
○○○_○○○_○○○
_ _ _ _○○○_○○○_○
_ _○○○_○○○○
_ ○○○○_○○○_○
○○○_○_○
次のように、最初の半角スペース(1?4こ)だけ消したいのです。
○○○_○○○_○○○(何もしない)
○○○_○○○_○
○○○_○○○○
○○○○_○○○_○
○○○_○_○(何もしない)

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

●質問者: anglar
●カテゴリ:コンピュータ
✍キーワード:エクセル データ 文字列
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● じゃりてん
●40ポイント

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

URLはダミー


dim i as long

for i = 1 to 5

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

next

でどうでしょう??

◎質問者からの返答

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


2 ● ota2244
●40ポイント

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



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

◎質問者からの返答

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

お二人とも凄いです。


3 ● りくっち
●10ポイント

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

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

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

B1=TRIM(A1)

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ