マクロ初心者です。
どなたか教えてください。
宜しくお願い致します。
Excelで入力されている住所を整理したいと思いましたが、書いた人によって全角でかいてあったり、~番地2などと書いてあったりとまちまちだったため、マクロを使って整えようと思いました。
http://okwave.jp/qa355804.html
を参考に、数字・英数字を半角にするマクロを作りました。
ですが、「-」を半角にするマクロをどう組み込めばいいのかわかりません。
また、~番地を「-」に変換するには、Excelのアドイン機能を使ってできるようなリンク(http://sml.jp/html/program01.html)があったので、ダウンロードして使っていたのですが、上記マクロに一緒に組み込めればと思っています。
どなたか教えてください。
宜しくお願い致します。
No.4ベストアンサー
- 回答日時:
ANo.1です。
>カタカナは全角のままで、数字とーだけ小文字にしたいんです…。
Function newname(c As String) As String
Dim st As String
Dim Match As Variant
Dim Matches As Variant
With CreateObject("VBScript.Regexp")
.Pattern = "[0-9a-zA-Z-]*"
.Global = True
If .Test(c) Then
Set Matches = .Execute(c)
For Each Match In Matches
st = StrConv(Match.Value, vbNarrow)
c = Replace(c, Match.Value, st)
Next
End If
End With
If InStr(c, "番地") Then
c = Replace(c, "番地", "-")
If Right(c, 1) = "-" Then c = Left(c, Len(c) - 1)
End If
newname = c
End Function
こちらではどうでしょうか?
:"[0-9a-zA-Z-]*"、この中の英数字が半角文字であれば
全角文字に直して下さい。
ありがとうございます!
カンペキです!!
番地もーも半角 - になりました。
ただ、語尾が番地の時も番地が - になってしまいます…。
重ね重ね申し訳ないのですが、これもなんとかできませんか??
上の方の助言に従い、やってみたのですが、うまくいかずエラーが出てしまいました…。
宜しくお願い致します。
No.3
- 回答日時:
失礼します。
>番地が語尾にある時(4000番地)は「-」が表示されないようにしたいのですが、
>どうしたらいいでしょうか?
Len関数とInStr関数を使えばどうでしょうか。
Len(c)
で、文字数を取得する
InStr(c, "番地")
で、”番地”の文字列内の位置を調べる
得られた値を比較すれば、文字列の最後にあるかどうか判定できます。
判定結果をIf文で分岐処理すれば良いと思います。
ありがとうございます!!
番地が語尾の場合はこれで解決できそうです!
でも考えたんですが…
400番地 アイウエオハイツ102
という場合はどうすればいいんでしょうか?
空白("")って検索できますか?
No.2
- 回答日時:
ユーザー定義関数なら
Function newname(c As String) As String
newname = StrConv(Replace(c, "番地", "-"), vbNarrow)
End Function
= newname(セル番地)
こうゆう事?
この回答への補足
上記試してみました。
英数字の大文字が小文字になるのはいいんですが、カタカナは全角のままで、数字とーだけ小文字にしたいんです…。
どう調整すればいいでしょうか?
ありがとうございます!!
これすごいですね!!
試してみたら番地→ーになりました。
番地が語尾にある時(4000番地)は「-」が表示されないようにしたいのですが、どうしたらいいでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Excel(エクセル) Excelで校閲をする方法はあるでしょうか(取扱説明書への掲載禁止用語の確認) 3 2022/06/11 22:51
- その他(Microsoft Office) WordやExcelで英数字のみ半角または全角にしたい 6 2022/08/03 08:18
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/10 09:06
- Excel(エクセル) マクロでボタンにつける名前がどこに設定されているかわからないケースがありました。 1 2023/06/19 19:37
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/15 16:33
- Excel(エクセル) 【マクロ】フォルダAからダBへファイルを、ファイルの更新日時の条件で、1つづつ移動するには? 3 2022/08/25 09:56
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
Excel・Word リサーチ機能を無...
-
ExcelのVBA。public変数の値が...
-
メッセージボックスのOKボタ...
-
2つのマクロでチェックボックス...
-
エクセルのマクロについて教え...
-
Excel2013 VBA マクロ実行中に...
-
エクセルのマクロについて教え...
-
VBA初心者 Ctrl+での操作、ボタ...
-
エクセルで別のセルにあるふり...
-
エクセルのマクロについて教え...
-
Excelマクロを引数付で起動
-
「マクロ」の語源
-
エクセルのマクロについて教え...
-
レポートで空データ時に印刷しない
-
ユーザーフォームを起動しなが...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
メッセージボックスのOKボタ...
-
一つのTeratermのマクロで複数...
-
エクセルで別のセルにあるふり...
-
ExcelのVBA。public変数の値が...
-
エクセルに張り付けた写真のフ...
-
ExcelVBAでPDFを閉じるソース
-
EXCELのVBAでRange("A1:C4")を...
-
Excel VBAからAccessマクロを実...
-
TERA TERMを隠す方法
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
マクロ実行時、ユーザーフォー...
-
Excelのマクロについて教えてく...
-
ソース内の行末に\\
おすすめ情報