アプリ版:「スタンプのみでお礼する」機能のリリースについて

マクロ初心者です。
どなたか教えてください。
宜しくお願い致します。

Excelで入力されている住所を整理したいと思いましたが、書いた人によって全角でかいてあったり、~番地2などと書いてあったりとまちまちだったため、マクロを使って整えようと思いました。

http://okwave.jp/qa355804.html
を参考に、数字・英数字を半角にするマクロを作りました。
ですが、「-」を半角にするマクロをどう組み込めばいいのかわかりません。

また、~番地を「-」に変換するには、Excelのアドイン機能を使ってできるようなリンク(http://sml.jp/html/program01.html)があったので、ダウンロードして使っていたのですが、上記マクロに一緒に組み込めればと思っています。

どなたか教えてください。

宜しくお願い致します。

A 回答 (5件)

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-]*"、この中の英数字が半角文字であれば
全角文字に直して下さい。
    • good
    • 0
この回答へのお礼

ありがとうございます!
カンペキです!!

番地もーも半角 - になりました。

ただ、語尾が番地の時も番地が - になってしまいます…。
重ね重ね申し訳ないのですが、これもなんとかできませんか??

上の方の助言に従い、やってみたのですが、うまくいかずエラーが出てしまいました…。

宜しくお願い致します。

お礼日時:2008/08/21 11:05

ANo.4です。



>ただ、語尾が番地の時も番地が - になってしまいます…。
たぶん"番地"の後ろにスペースを打ち込んでいるのでしょう。

>c = Replace(c, "番地", "-")

c = Replace(Trim(c), "番地", "-")
として下さい。
    • good
    • 0
この回答へのお礼

そうです、番地の後ろに

「~番地 アイウエオハイツ」となってました!

そこは個別対応するとして、これで語尾に番地がきても大丈夫そうです!

本当にありがとうございました!!

お礼日時:2008/08/21 21:49

失礼します。


>番地が語尾にある時(4000番地)は「-」が表示されないようにしたいのですが、
>どうしたらいいでしょうか?
Len関数とInStr関数を使えばどうでしょうか。
Len(c)
で、文字数を取得する
InStr(c, "番地")
で、”番地”の文字列内の位置を調べる
得られた値を比較すれば、文字列の最後にあるかどうか判定できます。
判定結果をIf文で分岐処理すれば良いと思います。
    • good
    • 0
この回答へのお礼

ありがとうございます!!
番地が語尾の場合はこれで解決できそうです!

でも考えたんですが…

400番地 アイウエオハイツ102

という場合はどうすればいいんでしょうか?
空白("")って検索できますか?

お礼日時:2008/08/21 11:02

ユーザー定義関数なら


Function newname(c As String) As String
newname = StrConv(Replace(c, "番地", "-"), vbNarrow)
End Function

 = newname(セル番地)
こうゆう事?

この回答への補足

上記試してみました。
英数字の大文字が小文字になるのはいいんですが、カタカナは全角のままで、数字とーだけ小文字にしたいんです…。
どう調整すればいいでしょうか?

補足日時:2008/08/20 00:04
    • good
    • 0
この回答へのお礼

ありがとうございます!!

これすごいですね!!
試してみたら番地→ーになりました。

番地が語尾にある時(4000番地)は「-」が表示されないようにしたいのですが、どうしたらいいでしょうか?

お礼日時:2008/08/19 23:58

>ダウンロードして使っていたのですが、上記マクロに一緒に組み込めればと思っています。


この場合は作成された方に聞いた方が早いというか、正しいように
思いますが。

この回答への補足

ご回答ありがとうございます。
>この場合は作成された方に聞いた方が早いというか、正しいように
思いますが。
これを変更するんではなくて、こういう感じでやるにはどうしたらいいのかなぁと思ったので質問してみました。

補足日時:2008/08/19 23:51
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!