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

解決済みの質問

Excel VBAのTextboxについて

こんにちは。
Excelのユーザーフォームのテキストボックスに、
 あああ
 いいい
と改行されたデータを入力した後、
セルA1に「あああ」
セルA2に「いいい」とできないでしょうか。

Windows2000、Office2003です。
あまり詳しくないので説明不足な点もあると思いますが、よろしくお願いいたします。

投稿日時 - 2005-11-25 18:37:37

QNo.1801087

すぐに回答ほしいです

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

VBE画面で挿入ーユーザーフォーム
そのフォームにテキストボックスとコマンドボタンをツールボックスからD&Dして、1つづつ貼り付けます。
コマンドボタンにクリックイベントを
Private Sub CommandButton1_Click()
a = TextBox1.Text
s = Split(a, Chr(10))
For i = 0 To UBound(s)
Worksheets("sheet4").Cells(i + 1, "A") = s(i)
Next i
End Sub
にします(上記を貼り付け)
Sheet4は適当に変えてください。
テキストボックスのプロパティボックスを開き
EnterKeyBehavior=True
MultiLine=True
WordWrap=True
を設定する。
そして実行する。
テキストボックスの中へ文字を入力する。

(+は続けて入力を示す。)
おおた ひとし+(改行)
東京都千代田区+(改行)
大田 均+(改行)
・・
コマンドボタンをクリックする
A1セル以下のセルに分かれて
上記語句・文章が入るでしょう。
質問には、こんなことでよいでしょうか。

投稿日時 - 2005-11-25 23:00:11

お礼

ありがとうございました!できました!!

投稿日時 - 2005-11-28 11:54:04

ANo.3

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

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

回答(4)

ANo.4

こんにちは。

Multiline = True の EnterKeyBehavior =Trueで入る、「Enter」のコードは、vbCrLf です。だから、Split で、そのどちらかで区切ったら、片方が残ってしまいますから、その二つ(vbCrLf)を、デリミタにします。

Private Sub CommandButton1_Click()
Dim buf() As String
 If TextBox1.Text <> "" Then
 buf = Split(TextBox1.Text, vbCrLf)
 Range("A1").Resize(UBound(buf) - LBound(buf) + 1) = _
   WorksheetFunction.Transpose(buf)
 End If
End Sub

なお、ご質問は、A1, A2 になっていましたので、Range("A1")にしていますが、できれば、UserForm の立ち上げの際に、 モードレスモード(UserForm1.Show 0)にし、Range("A1")は、ActiveCell にしてください。必要なら、別にA1を Select/Activate してください。

投稿日時 - 2005-11-27 11:44:36

お礼

ありがとうございました。参考にいたします。

投稿日時 - 2005-11-28 11:55:10

ANo.2

Offset(x,y)がポイントでしょうか。

Dim MyRec As Range

Private Sub CommandButton1_Click()
Set MyRec = MyRec.Offset(1, 0)
MyRec.Cells(0, 1).Value = TextBox1.Text

End Sub

Private Sub UserForm_Initialize()
Set MyRec = Range("A1")

End Sub

投稿日時 - 2005-11-25 20:54:34

お礼

ありがとうございました。参考にいたします。

投稿日時 - 2005-11-28 11:54:44

ANo.1

'こんな感じ
Private Sub CommandButton1_Click()
Dim a
a = Split(TextBox1.Text, vbLf)
Range("A1") = a(0)
Range("A2") = a(1)
End Sub

投稿日時 - 2005-11-25 19:11:53

お礼

ありがとうございました。参考にいたします。

投稿日時 - 2005-11-28 11:54:32

あなたにオススメの質問