• ベストアンサー

エクセルのマクロ

B1に文字が入力されています。 先頭から一文字ずつ、A列にコピーします。 スペースの場合はスペースをコピーします。 例 B1→ 1Dk4あ $ A1→ 1 A2→ D A3→ k A4→ 4 A5→ あ A6→  A7→ $ 以上の処理を行うマクロを教えて頂きたいのですが。

質問者が選んだベストアンサー

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.3

マクロでって事なので、、、 こんな感じでしょうか? Sub Test()  For i = 1 To Len(Range("B1").Text)    Range("A" & i).NumberFormat = "@"    Range("A" & i).Value = Mid(Range("B1").Text, i, 1)  Next i End Sub

sjppp
質問者

お礼

御回答ありがとうございます。 うまくいきました。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

Sub test02() J = 2 For i = 1 To Len(Cells(1, "A")) Cells(J, "A") = Mid(Cells(1, "A"), i, 1) J = J + 1 Next i End Sub

sjppp
質問者

お礼

御回答ありがとうございます。 コピーする対象がA1にある場合のようですね。

回答No.1

A1に =MID($B$1,ROW(),1) を入れて、下に引っ張れば(A2、A3にコピー、貼り付けしていけば)いいと思うけど。 マクロでやる意味はあまりないような。

sjppp
質問者

お礼

御回答ありがとうございます。 >マクロでやる意味はあまりないような。 質問で示していることが行いたいことの全てではなく、実際にはもっと入り組んだことをしたいと思っていますので、マクロ処理が必要になります。

関連するQ&A