[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『桁区切りのカンマを置換したい』(123)
すみません、お世話になります。
表示形式が通貨や数値で入っている桁区切りカンマを別の文字にしたいと思っています。
実際には入力されていない文字なので、置換で検索文字列を,にしてもデータが見つからないとなります。
Range("A1:A100").Replace What:=",", Replacement:="●", LookAt:=xlPart, MatchCase:=True
というのを試しましたが、同様でした。
もしお分かりの方いらっしゃっいましたら教えてくださいm(_ _"m)
< 使用 Excel:Excel2010、使用 OS:unknown >
書式設定のユーザー定義で設定するぐらいしか思い浮かびませんが 桁数がバラバラすぎると辛いですね。 https://support.microsoft.com/ja-jp/help/883199
[<=999]###;[<=999999]###a###;###a###a### とかにすればとりあえず9桁まではいけますかね? (ななし) 2020/11/19(木) 15:55
,がaになりました!すごい!!
しかし、桁数もですが、内容も様々で(-_-;)
決まっている列などあれば教えていただいた書式設定で行けると思うのですが、
A1セルから入力する人もいればD5セルから入力する人もいるので…
教えていただいた方法は、別の機会に使わせてください!
書式設定でない方法がありましたら、よろしくお願いしますm(_ _"m)
(123) 2020/11/19(木) 16:18
Sub Sample() Dim r As Range For Each r In Range("A1:A100") r.Value = Replace(r.Text, ",", "●") Next End Sub
(ひまつぶし) 2020/11/19(木) 16:40
置換されました!!衝撃です!
すべて●になりました!
マクロ範囲とかいじってみます。
もしわからなくなったらまたお願いしますm(_ _"m)
ありがとうございました!
(123) 2020/11/19(木) 17:04
マクロを実行すると、,は●になります。
しかし、,がない1000以下の'がなくなってしまうようなのです。
'(1,200.0)→'(1●200.0)
'(200.0)→-200.0
'(20.0)→-20.0
回避する方法がありましたら教えてください(_ _"m)
また、小数点も違う文字にする場合は、
Sub Sample() Dim r As Range For Each r In Range("A1:A100") r.Value = Replace(r.Text, ",", "●") Next For Each r In Range("A1:A100") r.Value = Replace(r.Text, ".", "◎") Next End Sub
でよいでしょうか?
よろしくお願いします!
(123) 2020/11/20(金) 11:18
なんとかなりました(^^;
内容は難しくて理解できていませんが、,.と同じように別の文字にしました。
もうひとつわからない部分がでてきました…
セルを文字列にしたあとに、,.を戻したいのですが,のほうが消えてしまいます。
",,"とかにすればのこるのですが、置換で,にすると消えてしまいます。
すみませんが、どこを修正すればよいか教えてください。
よろしくお願いしますm(_ _"m)
Sub Sample() Dim r As Range Dim re As Object For Each r In Selection Set re = CreateObject("VBScript.RegExp") With re .Pattern = "^[ ]*([\((])" If re.Test(r) Then r.Value = re.Replace(r.Text, "'○" & "$1") End If End With Next For Each r In Selection r.Value = Replace(r.Text, ".", "◎") Next For Each r In Selection r.Value = Replace(r.Text, ",", "●") Next End Sub
Sub Macro2()
Selection.NumberFormatLocal = "@" End Sub
Sub Macro3()
Dim r As Range For Each r In Selection With Selection .Replace What:="○", Replacement:="", LookAt:=xlPart, MatchCase:=True .Replace What:="◎", Replacement:="." .Replace What:="●", Replacement:="," End With Next End Sub (123) 2020/11/20(金) 17:17
何を何に置換するの? Selectionを ActiveSheet.AutoFilter.Range にすれば出来そうですが? (タイトル行も含む)
( はまちゃん) 2020/11/21(土) 10:02
(事務員) 2020/11/21(土) 10:31
可視セルを選択(Alt+;)して、置換する作業を マクロの記録で録ってみては?
( はまちゃん) 2020/11/21(土) 10:47
(事務員) 2020/11/21(土) 13:48
なにをしたいのかわかりませんが、セルの数値を表示されている通りの文字列にするなら
こんなもんでよろしいかと思います。
Sub Sample() Dim r As Range For Each r In Range("A1:A100") r.NumberFormatLocal = "@" r.Value = r.Text Next End Sub
違っていたなら、何をしたいのか説明してください。
(ひまつぶし) 2020/11/22(日) 07:46
頭にシングルクォーテーションが付いているのはルールですか?
そうならば、置き換えで出来きそうですが?
(まっつわん) 2020/11/22(日) 13:38
テーマが全然違うし、別で質問しましょう^^;
1個だけ手入力して、コピーして貼り付ければいいと思います。
オートフィルターで抽出後、
貼り付けるセル範囲を選択するときは、
貼り付けたい先頭のセルを選択しShiftキーとCtrlキーを押しながら↓で、移動します。行きすぎたら↑で戻ります。
(まっつわん) 2020/11/22(日) 13:45
横入り。 これではどうですか?
Sub Sample() Dim r As Range Dim s As String For Each r In Range("A1:A100") s = r.Text r.NumberFormatLocal = "@" r.HorizontalAlignment = xlRight r.Value = s Next End Sub コード拝借しました。 (γ) 2020/11/24(火) 10:50
(γ) 2020/11/24(火) 10:59
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.