dポイントプレゼントキャンペーン実施中!

テキストボックスで複数行入力可能にしたのですが、1行づつセルへの抜き出しは出来るのでしょうか?
初心者なので、簡単に出来る方法を探しています。

A 回答 (4件)

シートにテイストボックスを貼り付ける。


(1)テキストボックスの「プロパティ」のMultiLineをTrueにする。
(2)テキストボックスではCTRL+ENTEキーで改行する。
(3)テキストボックスのダブルクリックイベントに
Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
s = Split(TextBox1.Text, Chr(10))
For i = 0 To UBound(s)
Cells(i + 1, "A") = s(i)
Next i
End Sub
を貼り付ける。
テキストボックスで
aaaaaaaaaaa
zzzz
xxccc
ssss
ddd
xxxxxxxxxx
ssss
と入れて、ダブルクリックすると、A1:A7に
aaaaaaaaaaa
zzzz
xxccc
ssss
ddd
xxxxxxxxxx
ssss
となりました
    • good
    • 1
この回答へのお礼

有難う御座います。教えて頂いた方法で無事に解決しました。不足だらけの質問にここまで親切に教えていただいて本当に有難う御座います。大変分り易かったです。

お礼日時:2006/03/05 12:33

こんな方法もあります。



Dim obj As New DataObject
With obj
.SetText TextBox1.Text
.PutInClipboard
End With
ActiveSheet.Paste

例えばテキストエディタからコピペした文字列は
Excelシート上では改行コードごとに
セルに収まります。
その応用で、一旦テキストボックスの内容をクリップボードに格納し、
貼り付けてやれば、1行ごとセルに収まるわけです。

ちなみに当方Excel2002で確認済みです。
    • good
    • 0
この回答へのお礼

教えていただいて有難う御座いました。pesteが列方向へのpasteだったので上記の方法だけでは旨く行きませんでした。通常の行方向へでしたらこの方法がいいと思います。

お礼日時:2006/03/05 12:38

開発ツールとしての Visual Basic ではなくて、Excel VBA のことでしょうか?



テキストボックスはどこに置いたのでしょうか。
ユーザーフォームなのか、シートなのか。
とりあえず、
ユーザーフォーム "UserForm1" 上のコマンドボタン "CommandButton1" をクリックすると、UserForm1 上にある複数行入力可能なテキストボックス "TextBox1" に入力してある文字列をセルに書き出したい。
ただし書き出し方法は、テキストボックスの文字列の 1行ごとに書き出すセルも変えたい。

みたいなことでしょうか?
# 他人に説明する場合はなるべく 5W1H で書くようにしましょうね。

CommandButton1 の Click イベント プロシージャに


Dim inputLines As Variant
inputLines = Split(Me.TextBox1.Text, vbCrLf)

Dim i As Integer
For i = 0 To UBound(inputLines)
Cells(i + 1, 1).Value = inputLines(i)
Next i

と書いてみてください。
現在アクティブなシートの A1 から下に向かって書き出します。
    • good
    • 1

できます。


APIを使う方法はネットで見つけたのでURLを載せておきます。
APIを使わなくても、1行の文字数とか決まっていればなんとかなります。私はAPIを使った時にちょっとうまくいかなかったので、自力で処理をしましたが、URLのところで問題なければ、その方が楽でしょう。

参考URL:http://www.winapi-database.com/tips/59/index.html
    • good
    • 0
この回答へのお礼

有難う御座います。URLの方法は正直初心者の私には返って分り難かったです。早速の回答有難う御座いました。

お礼日時:2006/03/05 12:01

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

このQ&Aを見た人はこんなQ&Aも見ています