初心者です。
会社でRPAを導入することになり、これまで手作業でしていたことを自動化させようとしています。
毎日3-50件の顧客データを処理するのですが、CSVでダウンロードしたら電話番号が数値として認識されてしまい、先頭の0が消えてしまいます。
データ自体は毎回同じ形式でダウンロードできるので、例えば毎回A1:A50が名前、C1:C50が電話番号という風に場所は決まっています。
VBAを使って桁数で調整する方法は携帯番号の11桁と固定電話の10桁(市外局番がない場合は7桁)と相性が悪いので使えません。
自動化のための作業なので何かを手入力するというようなこともできないので、何か良い方法があれば教えていただきたいです。
また、もっと良い方法があるなら教えてください。
No.2ベストアンサー
- 回答日時:
こんにちは!
C列は必ず電話番号になっているのですね。
そしてハイフンなしの数値になっている!という前提で・・・
一例です。
Sub Sample1()
Dim c As Range
With Range("C1:C50")
.NumberFormatLocal = "@"
.HorizontalAlignment = xlRight
End With
For Each c In Range("C1:C50")
If c <> "" Then
If Len(c) > 7 And Left(c, 1) <> "0" Then
c = "0" & c
End If
End If
Next c
End Sub
こんな感じではどうでしょうか?m(_ _)m
No.4
- 回答日時:
こんにちは
No3様に賛成です。
VBAでCSVを読む際には文字列として扱うことになりますので、そのままセルに代入しても文字列のまま認識されるはずです。
とは言え、後々の誤操作等で数値化してしまうのを防止する意味からも、予めC列(あるいはシート全体)の書式を「文字列」に設定しておいてから代入するほうがよろしいかと思います。
CSVの読込みに関しては、検索すれば数多く解説サイトが見つかることと思います。
ご参考まで。
No.3
- 回答日時:
こんにちは、
>CSVでダウンロードしたら電話番号が数値として認識されてしまい、先頭の0が消えてしまいます。
自動化するのであれば、データの入出力も自動化すると思いますが、であれば、
VBAでCSVをインポートする際に、カラム3にシングルコーテーションを付けるなどして文字列にするだけで良いのでは?
環境が見えませんが、CSV出力側で加工できるなら、越した事はありませんが
No.1
- 回答日時:
ようするに、まずはExcelのセルの属性をVBAで参照・設定したい・・・ということですよね?
でしたらGoogleなどで「Excel VBA セルの属性 文字列」といったキーワードで検索されてみて下さい。様々な解説ページがヒットするはずです。
セルごとに文字列長が事なる際、それぞれの先頭に文字または文字列を挿入したいという場合も同様の考え方で「Excel VBA セル 文字列の先頭 挿入」といった感じのキーワードで検索されるとよいように思います。
独学で知識を広めたいと思う際は「適当(=適切)な検索キーワードを思い付く」というのも結構大切なスキルになります。(^^;
参考まで。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA初心者です。電話番号の数字の前に0を表示させたいです。 2 2022/12/14 03:58
- Android(アンドロイド) Googleからのメールに対してどう操作するのか? 1 2023/01/08 19:34
- 会社・職場 フリーランスで仕事をする人にとっての携帯番号 1 2022/09/18 01:40
- 個人事業主・自営業・フリーランス こちらの連絡先は教えなくて良い? 4 2022/09/18 11:03
- 消費者問題・詐欺 悪質リサイクル業者からの迷惑電話に非常に困ってます。 悪質リサイクル業者は今年6月に入ってからいろん 5 2022/06/22 19:16
- その他(プログラミング・Web制作) 入力フォームへ、データを自動的に入力するプログラム。どうやって作る? 4 2023/01/16 10:24
- その他(プログラミング・Web制作) プログラムの起動、利用について、使用期間を設定する方法 3 2023/08/06 21:03
- その他(コンピューター・テクノロジー) 下に書いたの条件でgoogleアカウントの復旧方法等を教えてください。 1 2023/02/06 23:32
- その他(セキュリティ) IDと暗証番号・パスワードの管理の画期的かつ簡単便利な方法を考案した。他人に検証してもらう方法は? 5 2023/02/08 08:49
- Excel(エクセル) 【Excel】住所に郵便番号を付記する方法 3 2022/05/07 17:15
このQ&Aを見た人はこんなQ&Aも見ています
-
10代と話して驚いたこと
先日10代の知り合いと話した際、フロッピーディスクの実物を見たことがない、と言われて驚きました。今後もこういうことが増えてくるのかと思うと不思議な気持ちです。
-
秘密基地、どこに作った?
小さい頃、1度は誰もが作ったであろう秘密基地。 大人の今だからこそ言える、あなたの秘密基地の場所を教えてください!
-
【お題】引っかけ問題(締め切り10月27日(日)23時)
【大喜利】 「日本で一番高い山は富士山……ですが!」から始まった、それは当てられるわけ無いだろ!と思ったクイズの問題
-
許せない心理テスト
私は「あなたの目の前にケーキがあります。ろうそくは何本刺さっていますか」と言われ「12本」と答えたら「ろうそくの数はあなたが好きな人の数です」と言われ浮気者扱いされたことをいまだに根に持っています。
-
うちのカレーにはこれが入ってる!って食材ありますか?
カレーって同じルーから作っても、家庭によって入っているものや味が微妙に違っていて面白いですよね! 「我が家のカレーにはこれが入ってるよ!」 という食材や調味料はありますか?
-
VBA初心者です。電話番号の数字の前に0を表示させたいです。
Visual Basic(VBA)
-
【Excel VBA】CSV取込時、数字の先頭の0を消えないようにするには?
Excel(エクセル)
-
【Excel VBA】先頭の「0」飛びを埋める方法
Visual Basic(VBA)
-
-
4
エクセルvbaで転記したのですが、数字のゼロが消えてしまいます。 ゼロも転記するためにはどうしたらい
Excel(エクセル)
-
5
EXCEL VBA 文字列から電話番号を抽出したいのですが
Excel(エクセル)
-
6
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
7
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
8
EXCEL VBAで、セルの文字列の前後に文字を入力する方法は?
その他(Microsoft Office)
-
9
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
10
VBA 数値を文字列として貼付したい
Excel(エクセル)
-
11
もしセルが#N/A"なら~をする・・・には?"
Excel(エクセル)
-
12
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
13
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
14
VBAで先月、先々月を求める方法
Visual Basic(VBA)
-
15
VBAを何回も作り直して、容量が増えた
Excel(エクセル)
-
16
Access2007 ラベルの削除ができない。
Access(アクセス)
-
17
特定の文字がある行以外を削除するマクロ
その他(Microsoft Office)
-
18
VBAでマルチページのページ指定方法
Visual Basic(VBA)
-
19
UserForm1.Showでエラーになります。
工学
-
20
どうやってもFor文を抜けてしまいます…(VBA)
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでアルファベットか数...
-
EXCELで=より左の文字を一括で...
-
文字列からタブコードを取り除...
-
アクセスで特定の数字以外(複...
-
VBAでの Replace関数で、ワイル...
-
同一セル内に関数と文字列を同...
-
エクセルで文字列の最大値を抽...
-
VBAを使って選択した範囲の数字...
-
Excelで指数表現しないようにす...
-
VBA2005 16進を2桁で表示したい。
-
textboxユーザーコントロールの...
-
【Excel VBA】複数ある特定の文...
-
“丸(〇/○/◯)”に似た文字…
-
エクセルで文字列をtxtファイル...
-
Excelで3E8を3.00E+8にしない方...
-
Left関数とRight関数を合わせた...
-
UNIX:縦一列のファイルを横一行...
-
エクセルでセル内の文字列の最...
-
csvファイルを読み込んでデータ...
-
エクセル 数値データを桁をそ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでアルファベットか数...
-
EXCELで=より左の文字を一括で...
-
文字列からタブコードを取り除...
-
VBAでの Replace関数で、ワイル...
-
Excelで3E8を3.00E+8にしない方...
-
エクセルで文字列をtxtファイル...
-
Excelで指数表現しないようにす...
-
【Excel VBA】複数ある特定の文...
-
Left関数とRight関数を合わせた...
-
エクセルで文字列の最大値を抽...
-
同一セル内に関数と文字列を同...
-
VBA2005 16進を2桁で表示したい。
-
VBの「As String * 128」とは?
-
MS SQLServer のSQLで文字列の...
-
エクセル 数値データを桁をそ...
-
C#で年月を比較する
-
16進数を10進数に簡単に変換す...
-
“丸(〇/○/◯)”に似た文字…
-
アクセスで特定の数字以外(複...
-
Msgboxの×が押されたとき
おすすめ情報