いつもお世話になっております。
下記のコードの書き出しのところで
おしえてくれませんでしょうか
A列に数値と文字列が混じっている
セルを数値だけをB列に
文字列をC列にやりたいのですが、
エラーになります。
Dim re As Object
Set re = CreateObject("VBScript.RegExp")
Dim mc As Object, str As String
Dim m As Object
For Each m In Range("A1:A10")
re.Pattern = "\d*"
re.ignorecase = False
re.Global = True
Next
str = m.Value
No.6
- 回答日時:
以下のようにしてください。
A001か数字をとりだすと001になりますが、
B列の初期設定を文字列にしないと1になってしまいます。
001を表示するために、意図的にB列の初期設定を文字列にしています。
Sub Macro1()
Dim m As Range
Dim str1 As String
Dim str2 As String
Dim RE As Object
Set RE = CreateObject("VBScript.RegExp")
str1 = "\D"
str2 = "\d"
RE.Global = True
For Each m In Range("A1:A10")
RE.Pattern = str1
m.Offset(0, 1).NumberFormatLocal = "@"
m.Offset(0, 1).Value = RE.Replace(m.Text, "")
RE.Pattern = str2
m.Offset(0, 2).Value = RE.Replace(m.Text, "")
Next
End Sub
No.5
- 回答日時:
補足の
>できれば日付の月日以外も取り出したい。
って受け取れる内容はいくつかありますけど?
・年月日から〇年と〇月〇日にする
・文章内から『数字』『数字以外』『〇月〇日』に分ける
など。
No.4
- 回答日時:
2月25日は
B列:225
C列:月日
となれば良いのでしょうか。
又、これは、実際にはシリアル日付(2021/2/25)が設定され、
書式設定で2月25日と表示していると理解しましたが、あってますか。
No.3
- 回答日時:
No.1です。
私が気になるデータとしては
AAA123AAA123AAA
をどう振り分けるのかな?って感じです。
PS.
文字列をC列にってのはちょっと・・・
数字も文字列ですしデータ全部をC列に移動ってなります。
ちょっと細かすぎましたかね。
まぁ~、数字か否かで良いのかな?と感じます。
No.1
- 回答日時:
どのようなデータを扱うのかわかりませんので、Patternをどう決めるかはその内容次第ではあります。
ところで、
For Each m In Range("A1:A10")
re.Pattern = "\d*"
re.ignorecase = False
re.Global = True
Next
ループ内で正規表現の設定を何度もおこなっても意味ないですよね?
設定の書き換えが繰り返されるだけで、目的としている事には一切触れてませんし。
まずはどんなデータ群があり得るのかで変わるかも?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 正規表現を用いての並び替え 7 2022/04/04 09:27
- Excel(エクセル) VBA カゥントで数値の範囲を規制 1 2022/05/20 06:20
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Visual Basic(VBA) countifsについての質問 3 2023/03/08 13:45
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Excel(エクセル) VBA オリジナル関数で選択セルの合計を作成したい 3 2023/03/19 19:45
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Visual Basic(VBA) Sheet1のA列にコードB列にメアド、Sheet2のB列にコード一覧とD列にメアド一覧があり、Sh 3 2022/10/19 11:57
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
B列の最終行までA列をオート...
-
Excelで、あるセルの値に応じて...
-
vba 2つの条件が一致したら...
-
VBA 何かしら文字が入っていたら
-
Worksheets メソッドは失敗しま...
-
URLのリンク切れをマクロを使っ...
-
文字列の結合を空白行まで実行
-
Cellsのかっこの中はどっちが行...
-
VBAを使って検索したセルをコピ...
-
VBAを用いて条件付きの平均値、...
-
セルに値が入っていた時の処理
-
エクセル 2つの表の並べ替え
-
VBAでエラーインジケーターにつ...
-
[ASP+SQL]絞込み済みのレコード...
-
rowsとcolsの意味
-
C#で複数列をもつデータソース...
-
Excel マクロ VBA 別シートのセ...
-
IIF関数の使い方
-
エクセル VBA ユーザーフォー...
-
【VBA】2つのシートの値を比較...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Worksheets メソッドは失敗しま...
-
Cellsのかっこの中はどっちが行...
-
VBAのコードを教えてください
-
VBAを使って検索したセルをコピ...
-
B列の最終行までA列をオート...
-
エクセルvbaについて
-
vba 2つの条件が一致したら...
-
Excelで、あるセルの値に応じて...
-
VBA UserFormからの転記で
-
VBAのFind関数で結合セルを検索...
-
文字列の結合を空白行まで実行
-
IIF関数の使い方
-
VBA 何かしら文字が入っていたら
-
マクロ 最終列をコピーして最終...
-
Changeイベントでの複数セルの...
-
エクセルVBAにて =A1=B1とすれ...
-
【VBA】2つのシートの値を比較...
-
データグリッドビューの一番最...
-
VBマクロ 色の付いたセルを...
-
VBAで指定範囲内の空白セルを左...
おすすめ情報
B列には数値
C列には文字列
データ群
A001
bB002
A002
bB003
A003
bB004
A004
bB005
できれば日付の月日以外も取り出したい。
2月25日
2月26日
2月27日
2月28日
3月1日
3月2日
3月3日
まぁ~、数字か否かで良いのかな?と感じます。
こちらで大丈夫です。
すみませんです。
2月25日 →225 としてたです。
2021年02月25日の場合➔20210525