重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

セルにある文字列に”-”を加え、別のセルに移したいです。

例/ABCDEFGHIJ→ABC-DEFGH-IJ

としたいです。
文字列の“-”の入る位置は、「例/」の位置で固定です。
Excel2003を使用しています。
マクロ等で一発変換できる方法はありますか?

マクロ初心者なので、教えて下さい。宜しくお願い致します。

A 回答 (2件)

一例です。


仮にデータがA1以下にあり、B1以下に設定とする。
関数ならば、B1に=REPLACE(REPLACE(A1,9,,"-"),4,,"-")、下方向にコピー
マクロならば、次の様なコードです。
Sub sample()
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
Range("B" & i).Value = Format(Range("A" & i), "@@@-@@@@@-@@")
Next
End Sub
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

マクロだけでなく、関数まで記載いただき大変感謝しております。

お手数をお掛けしました。

お礼日時:2011/08/31 15:58

位置が固定であれば、関数でも十分出来ると思いますが、


一応マクロの方法で。

A1のセルにデータがある場合。

Sub macro()
Dim T As String
T = Range("A1").Value
Range("B1").Value = Left(T, 3) & "-" & Mid(T, 4, 5) & "-" & Right(T, 2)
End Sub
    • good
    • 0
この回答へのお礼

早速のご返答ありがとうございました。

割と短いコマンドで済むのですね。

とはいえ思いつかずお手数をおかけしました。

お礼日時:2011/08/31 15:54

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