• ベストアンサー

エクセルのマクロで入力文字を一文字ずつ並んだセルに入れる

エクセルマクロ超初心者です。 エクセルVBAでユーザーフォームを作成しました。 テキストボックスに入力した文字列を「登録」ボタン押下後、エクセルシートのセルに一文字づつ入るようにするにはどうすれば良いでしょうか? 例えばテキストボックスに「kohiro」と入力するとエクセルのsheet1のA1「k」、B1「o」、C1「h」、D1「i」、E1「r」、F1「o」となるようにしたいのです。入力する文字数は0~30文字までで、その都度長さは変わります。どうやって、文字をばらせばいいのか、またどうやって可変長の文字列を指定したセルに入力すればいいのかわかりません。どうかよろしくお願いいたします。

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

  • ベストアンサー
  • wildcard
  • ベストアンサー率54% (54/100)
回答No.3

#2の者ですが、一部ミスがありましたので下記の通り訂正させて頂きます。   Dim AA As String   Dim a, b As Integer   'AAには、テキストボックスの値を代入してください。   AA = "wildcard"   a = Len(AA)   For b = 1 To a     Cells(1, b).Value = Mid(AA, b, 1)   Next b

kohiro
質問者

お礼

出来ました!感動です!本当に嬉しいです。 ありがとうございました。さらに質問をしています。是非お力を貸してください!!

その他の回答 (2)

  • wildcard
  • ベストアンサー率54% (54/100)
回答No.2

こんな感じでしょうか?len関数で文字列の長さを求め、 Forループを利用しながら、mid関数で文字を抽出すると言う方法です。   Dim AA As String   Dim a, b As Integer   'AAには、テキストボックスの値を代入してください。   AA = "wildcard"   a = Len(AA)   For b = 1 To a     Cells(1, c).Value = Mid(AA, b, 1)   Next b

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

aにテキストの文字列をセットします。 for b=1 to len(a) Range("A" & b).Value=Mid(a,b, 1) next 未確認ですが、こんな感じでどうでしょうか?