プロが教えるわが家の防犯対策術!

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

A 回答 (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
    • good
    • 0
この回答へのお礼

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

お礼日時:2003/01/25 02:27

こんな感じでしょうか?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
    • good
    • 0

aにテキストの文字列をセットします。



for b=1 to len(a)
Range("A" & b).Value=Mid(a,b, 1)
next

未確認ですが、こんな感じでどうでしょうか?
    • good
    • 0

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