• ベストアンサー

VBA テキストボックスの行数取得

Excle2000を使用しています。 ユーザーフォームにテキストボックスを設置してあり、MultiLineとEnterKeyBehaviorをTrueにして改行できるようにしてあります。 そこでテキストボックスに文字を入力し、コマンドボタンなどをクリックするとメッセージボックスにそのテキストボックスの行数を表示させるにはどうしたら良いでしょうか?? よろしくお願いします。

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

  • ベストアンサー
回答No.1

LineCount プロパティー

yasu7r
質問者

補足

お返事ありがとうございます。 LineCountでできましたが、そのテキストボックスにフォーカスがないと機能しないようです。 フォームの中にテキストボックスが300個程あり、その内のひとつなのでそのテキストボックスにフォーカスが合っていなくても取得する方法はありますか?

その他の回答 (1)

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.2

改行の数を調べるのは? Dim A A = Split(TextBox.Value, vbMewLine) Debug.Print "行数 ="; UBound(A) + 1

yasu7r
質問者

お礼

ありがとうございます。 この方法でうまくできました! お返事遅くなってみすませんでした。

関連するQ&A

  • VBA フォーム作成

    ユーザーフォームを作成しテキストボックス、コマンドボタンを配置して、コマンドボタンに処理の内容を記述して実行することは出来たのですが、テキストボックスに文章を書く際に任意の位置で改行して実行すると改行した部分でセルA1とセルA2に分かれて入力されてしまいます。User Form1のプロパティMultiLineをTrueにしています。 アドバイス頂けますか。

  • VBAテキストボックスの数を必要に応じて増やす

    現在、Excel2000を使用しています。 ユーザーフォーム内でテキストボックスを横並びに3つ設置しています。そこで 例えばコマンドボタンをクリックしたり、テキストボックス3でエンターキーを押すと、そのテキストボックスが下に3つ増えて、合計6個になるようにするのは可能でしょうか? 場合によってはテキストボックスが、9個、12個それ以上必要な場合 がでてきます。 やはり最初からいくつもテキストボックスを設置して、Visibleなどで 操作するしかないのでしょうか?

  • テキストボックスについて

    1. テキストボックスの MultiLine プロパティを False に設定すると,そのプログラムの実行中に,テキストボックス内でリターンキーが押されると,エラー音が発生します。これを抑止したいのですが,どうすればよいのでしょうか? なお,MultiLine プロパティを True にするとエラー音は発生しなくなりますが,そのかわりに改行が行われてしまいます。MultiLine プロパティを True にして改行を抑止する方法でも構いません。どうか教えていただきたく存じます。 2. テキストボックス入力中にタブキーが押されたことを認識させたいのですが,KeyDown で認識させようとしてもうまくいきません。単にフォーカスが動いてしまうだけになってしまいます。フォーカスを移動させずに,タブキーが押されたことを認識させる方法を教えてください。 以上2点,どうかよろしくお願いいたします。

  • Excel2000VBA テキストボックス内での改行で・・・

    ユーザーフォームにテキストボックスを作り、 テキストボックス内での改行をできるように設定します。 このテキストボックスに入力されたデータをセルに入力すると セルでは改行したところに「・」が入ってしまいます。 例えばテキストボックスに  こんにちは[改行]  いい天気ですね と入力して、これをsheet1のA1に入力します。すると、  こんにちは・  いい天気ですね と入力されてしまいます。 この「・」を表示しないようにする方法はありますか? よろしくお願いします。

  • スクロールしないテキストボックス VB6です。

    原稿用紙の様に固定した行数、列数のテキストボックスを作りたいのですが、どうすれば良いのでしょうか。 MultiLine にすることまで分かるのですが、最下行で改行するとスクロールアップしてしまいます。 動かない様にするにはどうしたら良いでしょうか。

  • Access VBAボタンでテキストボックスを入力

    access2010を使用しております。 フォームでボタンをクリックしたときに、テキストボックスを書換える コードを作りたいのですが、 Private Sub コマンド111_Click() ME!テキストボックス.value= "あああ" End Sub としても、テキストボックスは書き換わりません。 でも、ボタンをクリックした後にそのテキストボックスをクリックすると ちゃんと「あああ」と入力されています。 つまり、ボタンをクリックしても入力はされても表示がされず、 ただ、テキストボックスをクリックすると「あああ」と表示されると言った具合です。 また、テキストボックスをクリックする以外にも 違うレコードに移動してもとのレコードに戻ってもおなじように 表示されます。 これを押した時に表示を変更させるには どのようにすればよろしいでしょうか?

  • ユーザーフォーム内のテキストボックスで改行

    ユーザーフォーム内のテキストボックスで改行をしたいんですが、どのようにすればいいんでしょうか? EnterKeyBehaviorっていうところかと思って「True」にしてみたんですが変わりませんでした…

  • コンボボックスからテキストボックスに連続して値を出したい

    エクセルVBAのユーザーフォームで、コンボボックスで選択したものをコマンドボタンを押すことで、同じフォーム上のテキストボックスに表示するところまではできたのですが、同じテキストボックスに追記する形でコンボボックスで選択したものを表示したいのですが、可能でしょうか。テキストボックスは複数行表示できるようにプロパティのMultiLineはTlueに設定することはしたのですが、2回目以降コンボボックスで選択した後コマンドボタンを押してもそのまま上書きするようなコードしかわかりません。 テキストボックスに、20回目まで選択項目を追加表示し、最後にはエクセルのシートにそのデータをコピーしたいのです。果たして、そのようなことは可能でしょうか。可能であればどのように記述すればよいのでしょうか。ぜひ諸先輩方のお知恵をお貸しください。よろしくお願いします。

  • テキストボックスの行数変更について

    お疲れ様です AutoCad2007で書いた図面をエクセル形式に出力する作業をしなければなりません。 ポリライン化とLISTコマンドを使って、なんとか加工ポイントは出力できたのですが、テキストボックス(コマンドボックス?)が400行以上出力できずに途中で止まってしまいます。 テキストボックスの行数設定はどうやって変更すれば良いでしょうか。 ネットで調べてみましたが、CmdHistLinesやsetenvのコマンドを使うやり方がでてきて、そのコマンドは2007では使えないようです。 どなたかテキストボックスの最大行数を設定変更するやり方を教えてもらえないでしょうか?

  • access テキストボックスの値取得

    いつもお世話になりますm(_ _)m access VBAをかじり始めた「超・初心者」です(^^;) フォームの画面にテキストボックスを作成し、そこに入力した値を取得したいのですが、どのようにすればよろしいのでしょうか?別に置いたコマンドボタンをクリックすると取得するようにしたいのです。 気軽に、コマンドボタンのイベントプロシージャに、 ----- dim rec as variant rec=textbox1.text   'recは、「テキストボックス1」に入力した値 ----- なんてやってみたんですが、全然ダメで、いろいろ検索してもさっぱり分かりません。 あほくさいほど初歩的な質問で恐縮ですが、なにとぞよろしくお願いいたしますm(_ _)m xp+access2003です。