テキストボックスに入れた文章が、大きすぎるので、スクロールバーを テキストボックスに挿入して、スクロールさせようとしても、作動しないのです。

WEB上でない状態で、テキストボックスあるいは、レイアウト枠、などに、スクロールバーを挿入して、スクロールさせる方法を ぜひ、教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

#2のものです。

追加して色々やって見ました。報告します。
(1)Shapesの1種のテキストボックス
エクセルのワークシートのツールバーのテキストボックス(縦書きや横書き)は、図形の1種で、スクロールバーは付かない(付けられない)ようです。プロパティのウィンドウも出す方法がなく、設定も「テキストボックスの
書式設定」に限られます。
ActiveSheet.Shapes("Text Box 16").ScrollBars = 1
はエラーになります。
(注1を実行して見てください。)
------------
(2)Activeコントロール
一方メニューバーの余白で右クリックして出てくる、VisualBasicのツールバーアイコン(金槌とスパナ)をクリックして出るツールバーの中のテキストボックス(ab|)をクリックして出てくる、+をワ―クシート上でドラッグして出きるテキストボックスは、
(MultiLine = Trueだと)
文字を大きくしたり文字数が多いと、垂直スクロールバーは指定しておくと付きます。水平スクロールバーはつかない。
(MultiLine = Falseだと)
文字を大きくしたり文字数が多いと、水平スクロールバーは自動的に付きます。垂直スクロールバーは勿論付きません。
(注2を実行してみて下さい。)文字数を短くすると自動的に消えます。
------------
(3)もう一つ「フォーム」ツールバーをクリックしても、色々なコントロールを設定できます。しかしなぜか、テキストボックスは使えません。
-------------
(注1)
Text Box 16の16は、テキストボックスをデザインモードでポインとしたとき、「名前ボックス」に出る「テキスト 16」の16と合わせてください。
Worksheets("sheet1").Activate
ActiveSheet.Shapes("Text Box 16").Select
' Selection.Top = 3600
Selection.Characters.Text = "関西地区大阪市中央区本町2-2-2"
End Sub
--------------
(注2)
適当に’を外して、スクロールバーの付加・消滅変化を見てください。
Sub test03()
Worksheets("s
heet1").TextBox1.MultiLine = False
Worksheets("sheet1").TextBox1.ScrollBars = 3
' Worksheets("sheet1").TextBox1.MultiLine = False
' Worksheets("sheet1").TextBox1.MultiLine = True
Worksheets("sheet1").TextBox1.ScrollBars = 3
Worksheets("sheet1").TextBox1.Text = "関西地区大阪市中央区本町2-2-2"
' Worksheets("sheet1").TextBox1.Text = ""
' Worksheets("sheet1").TextBox1.Text = "関西地区"
' Worksheets("sheet1").TextBox1.Font.Size = 25
End Sub
    • good
    • 0
この回答へのお礼

早速のご返答、どうもありがとうございます。 

とても、詳しく書いていただき、理解がしやすくなりとても、感謝しています。

以前に教えていただいたものと、上記のものを試してみました。 スクロールバーが 出現しました!! ありがとうございました!! 感動でした!!

もう、2件追加で、質問があるのですが、もしも、宜しければ、お答え頂けるととても、助かります。

1.基本的な質問で大変申し訳ないのですが、プロパティで、自分で設定(選択)した後、ビジュアルベーシックも設定(プログラムを書き込む)をしなければ いけないものなのでしょうか。

2.スクロールバーを 独自に設定する事(テキストボックスを設定するように)は、可能なのでしょうか。その場合どのようになりますでしょうか。

本当に何もわかっていない状態で、大変申し訳ないのですが、もしも、お時間と余裕がありましたら、ぜひ、教えて頂けたらと思います。

P.S. 昨日の時点で、imogashiさんの方にも、長い間お返事を頂きながら、すみませんでしたというメッセージと、補足をさせて頂いたつもりでしたが、インターネットの不調のせいか(最近、私のメールがよく行方不明になっているのです。)、補足されていませんでした。それにもかかわらず、お答えいただいて本当にありがとうございました。

お礼日時:2002/11/29 11:39

下記のようにしてテストしました。

何かヒントになれば
幸いです。
ツール-マクロ-VBEをクリック。
挿入-ユーザーフォーム-ツールボックスからテキストボックスを
ユーザーフォームにドラッグドロップする。
ツール-マクロ-マクロ名-test01(仮に)
Sub test01()
End Subが現れる。
その中に
Userform1.Textbox1.Multiline=True
Userform1.Showをいれる。
テキストボックスのプロパティにScrollbarがあるが、0を2(垂直スクロールバー付き)にする。
そしてtest01を実行する。
テキストボックス内で(文字を入力する)そしてCtrl+エンタを
数回繰り返す縦幅を超えると、突然スクロールバーが現れます。
すなわちスクロ-ルバーコントロールを横にくっ付ける必要はないと思います
    • good
    • 0

>スクロールバーを テキストボックスに挿入して



というのは、スクロールバーオブジェクトのことでしょうか?

テキストボックスのプロパティの"ScrollBars"を設定すれば
できると思うのですが、こっちができないのでしょうか?

この回答への補足

長い間アドバイスをいただきながらお返事もかけずに すみませんでした。

もしも、まだ、お答えいただけるようでしたら、御願いをしたいのです。

私が言っているテキストボックスは、図形描画、或いは挿入からいれるテキストボックスの事だったのですが、VBの中の挿入からのテキストボックスのプロパティのScrollbarsを変更する事により、図形描画のテキストボックス内にも、スクロールバーが動作するように出来ますでしょうか。

変更をするのには、どのように設定すれば宜しいのでしょうか。

もしも、お時間と余裕がありましたら、ぜひ、教えてください。

補足日時:2002/11/28 10:21
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q【エクセル】テキストボックスのサイズを他のテキストボックスにもコピーできますか?

こんにちは、みなさん!!

AとういうテキストボックスのサイズをBとういう
テキストボックスのサイズにコピーできますか?

例えば、テキストボックスAの幅が3高さが1だとします。
テキストボックスBのサイズをAと同じにするには、書式
設定から、高さ幅3高さ1と入力して同じサイズのテキスト
ボックスにします。

これを、もう少し簡単にできる方法はありませんか?

ご存知の方いらっしゃいましたらよろしくお願いします。

Aベストアンサー

すでにあるテキストボックスなら、
Shiftを押しながら選択すると、
A、Bのテキストボックスを同時に選択することができます。
複数同時に選択したところで、書式設定すればいいと思います。

Qエクセルで挿入したテキストボックスの上から

最近、エクセルを使用してます。
シートの上に挿入ボタンから、テキストボックスを挿入し、テキストを打ち込んでいます。さらに、そのテキストボックスの上から、シートを挿入または、張りつけることはできるのでしょうか?

セルの幅や高さはあらかじめ設定しているので、
別のシート(セルの幅や高さが違う)を上から表示したい。

Aベストアンサー

カメラ機能を使ってはいかがでしょう?


セル範囲をコピー

shiftキーを押しながら編集

図の貼付け あるいは 図のリンク貼付け

セル範囲が図になるので、図を切り取るかコピー

図を貼り付け

QExcelでテキストボックス内に表を挿入することは可能?

Excel内で2行、3列程の表を作ってそれを、テキストボックス内に入れたいのですが、どうすればいいのでしょうか?テキストボックス内に表を挿入させるのは可能でしょうか?

Aベストアンサー

少し違うかもしれませんが、
「カメラ」というボタン(ツールバー上のアイコン)を使う、
というのはいかが。

A:「カメラ」ボタンについて。
「カメラ」ボタンですが、標準ではツールバー上に存在しません。
1.メニュー>表示>ツールバー>ユーザー設定 でダイアログを出し、
2.「コマンド」タブを選択、
3.「分類」(左)で「ツール」を選択、
4.「コマンド」(右)の中から「カメラ」を探し(下の方)、
5.(今表示されている)任意のツールバー上にドラッグドロップする。

↑これで「カメラ」ボタンが使えるようになります。

B:本題のオペレーション。
(1)Excel内で2行、3列程の表を作って、
(2) (1)の表範囲を選択して「カメラ」ボタンを押す。
 (すると、表が「コピー元状態」になる。)
 (また、カーソルは + になる。)
(3)ワークシート(別シートでも可)上の落としたいところで、
 +カーソルをドラッグすると、領域選択っぽく四角を描くので、
 適当にマウスの人差し指を離す。
 (すると、(1)がそのままオブジェクトになる。)

*(1)の表のセルと(3)のオブジェクトはリンクしていますので、
(1)の内容を変えると(3)のオブジェクトに反映します。

。。。どうでしょうか?

少し違うかもしれませんが、
「カメラ」というボタン(ツールバー上のアイコン)を使う、
というのはいかが。

A:「カメラ」ボタンについて。
「カメラ」ボタンですが、標準ではツールバー上に存在しません。
1.メニュー>表示>ツールバー>ユーザー設定 でダイアログを出し、
2.「コマンド」タブを選択、
3.「分類」(左)で「ツール」を選択、
4.「コマンド」(右)の中から「カメラ」を探し(下の方)、
5.(今表示されている)任意のツールバー上にドラッグドロップする。

↑これで「カメラ」ボ...続きを読む

QExcelVBAでテキストボックスの数式バーに文字を入力したい

ExcelVBAに関する質問です。

シート上にある表とグラフがあり、グラフ上にテキストボックスで表の合計値を表示させています。
その方法は以下の通りです。

1.表の[合計値]を求めるセルを作る。
2.シート上の見えない部分(例.グラフの裏側など)で、合計値に単位を付加する。
(例.セルC15に[=C10&"kwh"]と入力)
3.テキストボックスの数式バーに上で単位を付加したセルを入力する。
(例.数式バーに[=C15]と入力)

表とグラフを含めて75行で1日分となるので、毎日75行分をコピー&ペーストして当日分の入力欄を作成しているのですが、表内の合計欄などはコピーすると参照セルがコピー先のセル番地に反映されるのですが、テキストボックス内のセル番地は反映されません。

これを一つ一つ直すのは大変なので、マクロなどを使ってボタン一つで直す(またはそのようなテキストボックスを作成できる)様にしたいのですが、VBAでテキストボックス内の数式バーをコントロールすることは可能なのでしょうか?

また同様にグラフのデータ範囲もコピー先に自動的に反映されないので、これもコントロールできる方法があれば教えて頂きたいと思います。


拙い知識で考えられる方法としては、

1.グラフ裏の見えないセルに、テキストボックスの参照先となるセル番地を記入(=[前日の参照番地]+75)
2.1日分のデータ範囲をコピーすると自動的に参照先のセル番地もコピー先に反映される
3.マクロを起動するとテキストボックスの数式バーに【"="&[当日の参照先セル]】と入力される
(または上記の様に入力されたテキストボックスを作成する)

グラフの方の対処方法は思いつきません。
ただグラフについてはボタン押しでグラフを作成する様にすればいいと思うのですが、シート上の体裁が崩れてしまうのでやりたくないのが実情です…

識者の方、よろしくお願い致します。

ExcelVBAに関する質問です。

シート上にある表とグラフがあり、グラフ上にテキストボックスで表の合計値を表示させています。
その方法は以下の通りです。

1.表の[合計値]を求めるセルを作る。
2.シート上の見えない部分(例.グラフの裏側など)で、合計値に単位を付加する。
(例.セルC15に[=C10&"kwh"]と入力)
3.テキストボックスの数式バーに上で単位を付加したセルを入力する。
(例.数式バーに[=C15]と入力)

表とグラフを含めて75行で1日分となるので、毎日75行分をコピー&ペーストして当日分の...続きを読む

Aベストアンサー

(ANo.1補足へのレス)
『グラフ上のテキストボックス』とは、
もしかしたら、グラフの上に独立したテキストボックスを単純に重ねたものではなくて、
チャートエリア内に作成するテキストボックスですか?
だとすると、ちょっと厄介な感じですね。
コピー後、一旦テキストボックスを削除して作成し直したほうが良さそうです。
(Excelのバージョンによるのかもしれませんが、コードでの設定だと不具合あり)
詳しく調べる時間が無かったので、作成し直す方向でコードを組んでみました。

Sub try2()
  Dim r As Range 'セル範囲格納用変数
  Dim ch As Chart
  Dim i As Long
  Dim arg
  
  'コピー後範囲の左上セルをA1とした時のリンクセル相対アドレスを _
   TextBoxの数量分記述しておく
  arg = VBA.Array("C1", "C2", "C3", "C4")
  If TypeName(Selection) <> "Range" Then MsgBox "セル範囲選択要": Exit Sub
  Set r = Selection.Offset(75)
  Selection.Copy r
  Set r = r.Resize(74, 2)
  With ActiveSheet
    Set ch = .ChartObjects(.ChartObjects.Count).Chart
  End With
  ch.SetSourceData Source:=r
  ch.TextBoxes.Delete
  For i = 0 To UBound(arg)
    'TextBox設置位置を変数iを使って変動配置する
    '...Add(Left,Top,Width,Height)
    With ch.TextBoxes.Add(ch.ChartArea.Width - 50, 10 + i * 20, 40, 15)
      .Border.ColorIndex = 0
      .Formula = r.Range(arg(i)).Address(external:=True)
    End With
  Next
  
  Set r = Nothing
  Set ch = Nothing
End Sub

また、チャートエリア内テキストボックスの場合、
『グラフ裏の見えないセル』にリンクすると、
バージョンによっては不具合が出る可能性があります。
http://excelfactory.net/excelboard/exgeneral/excel.cgi?mode=all&namber=86471&rev=0
少なくとも私の環境(win2000sp4/xl2000sp3)では発生しました。
気をつけた方が良いかもしれません。

(ANo.1補足へのレス)
『グラフ上のテキストボックス』とは、
もしかしたら、グラフの上に独立したテキストボックスを単純に重ねたものではなくて、
チャートエリア内に作成するテキストボックスですか?
だとすると、ちょっと厄介な感じですね。
コピー後、一旦テキストボックスを削除して作成し直したほうが良さそうです。
(Excelのバージョンによるのかもしれませんが、コードでの設定だと不具合あり)
詳しく調べる時間が無かったので、作成し直す方向でコードを組んでみました。

Sub try2()
 ...続きを読む

Qエクセルのグラフでセル参照をしてテキストボックスを挿入して

エクセルのグラフでセル参照をしてテキストボックスを挿入し セルをクリックし確定すると 後で テキストボックスを選べないのですが選べる方法はありますか 

Aベストアンサー

図形描画ツールバーの「オブジェクトの選択」ボタン(通常は,左から2つ目)を使って、テキストボックスを囲むようにドラッグすれば選択できるはずです。


このカテゴリの人気Q&Aランキング

おすすめ情報