こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

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

投稿日時 - 2003-01-24 12:58:58

QNo.453993

困ってます

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

#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

投稿日時 - 2003-01-24 13:16:19

お礼

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

投稿日時 - 2003-01-25 02:27:44

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.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

投稿日時 - 2003-01-24 13:10:36

ANo.1

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

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

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

投稿日時 - 2003-01-24 13:09:06

あなたにオススメの質問