• ベストアンサー

エクセルのInputBoxのことで

InputBoxに入力された値を、セルに反映させるVBAを知りたいのですが。 a bbb c ddddd 上記のように、スペースで区切って入力し、上記のケースなら、 A1 に a 、A2 に bbb 、A3 に c、A4 に ddddd と反映されるようにしたいのですが。 よろしくお願い致します。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

#1です。 こっちのほうがいいですね。 Sub test02() Dim xxx As String Dim yyy As Variant Dim i As Integer, n As Integer xxx = Application.InputBox("スペースで区切って入力してください。半角でも全角でもいいです。", "(σ^o^)σ ", Type:=2) If xxx = "" Then Exit Sub If xxx = False Then Exit Sub xxx = Replace(xxx, " ", " ") yyy = Split(xxx, " ") i = UBound(yyy) + 1 Range("A1").Resize(i).Value = Application.WorksheetFunction.Transpose(yyy) End Sub

mpskw8
質問者

お礼

ありがとうございました。 大変参考になりました。

その他の回答 (2)

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

他の方法で Sub test01() 'x = "12 3455 56 sd 1 1" x = InputBox("文字列=") K = 1 s = 1 Do p = InStr(s, x, " ") If p = 0 Then Cells(K, "A") = Mid(x, s, Len(x) - s + 1) Exit Sub Else Cells(K, "A") = Mid(x, s, p - s + 1) s = p + 1 K = K + 1 End If Loop End Sub

mpskw8
質問者

お礼

ありがとうございました。 大変参考になりました。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

Sub test01() Dim xxx As String Dim yyy As Variant Dim i As Integer, n As Integer xxx = Application.InputBox("スペースで区切って入力") xxx = Replace(xxx, " ", " ") yyy = Split(xxx, " ") i = UBound(yyy) For n = 1 To i + 1 Cells(n, "A") = yyy(n - 1) Next End Sub

関連するQ&A