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

質問です。
エクセルでまたは
CSVファイルで09011112222および08033334444のデータで
9011112222および8033334444
のように頭の0がない場合に簡単に0を付けて
09011112222および08033334444
になるようにできる関数かマクロはありますか。
データはA2列以下に2000件位あると考えてください。

●質問者: inosisi
●カテゴリ:コンピュータ インターネット
✍キーワード:CSV エクセル データ ファイル マクロ
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● Galapagos
●30ポイント

A2セルに対しては以下のような関数式になります。

=IF(LEFTB(A2,1)="0",A2,"0"&A2)


以下、同様に

=IF(LEFTB(A3,1)="0",A3,"0"&A3)

=IF(LEFTB(A4,1)="0",A4,"0"&A4)

=IF(LEFTB(A5,1)="0",A5,"0"&A5)

...

のように入力してみてください。

◎質問者からの返答

早速ありがとうございます。

B2に関数をいれてコピーしたらうまく行きました

ありがとうございました。


2 ● きゃづみぃ
●5ポイント
Sub main()

'CSVファイルの名前を セットしてください。
CSV_File_Name = "test1.csv"

Open CSV_File_Name For Output As #1

For a = 2 To Range("A2").End(xlDown).Row
 b = Cells(a, "A")
 If Left(b, 1) <> "0" Then
 b = "0" & b
 End If
 Print #1, b
Next a

Close #1

End Sub

ファイルは マイ ドキュメントに作られます。

同じファイル名のものが 既に存在していたら 上書きされますので注意してください。


3 ● きゃづみぃ
●45ポイント ベストアンサー
Sub main()

For a = 2 To Range("A2").End(xlDown).Row
 b = Cells(a, "A")
 If Left(b, 1) <> "0" Then
 b = "0" & b
 End If
 Cells(a, "A") = b
Next a

End Sub

CSVファイルを作るのかと思ってましたが、読み込んだデータの頭に0が

ついていないから、0をつけたいという話だったんですね。

これを実行する前に 値が入ってる箇所のセルの書式を 文字列にしてから

実行してください。

頭に 0をつけてくれます。

◎質問者からの返答

早速ありがとうございます。

うまく行きました。

完璧です。

関連質問


●質問をもっと探す●



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