[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ControlSource指定』(あああ)
テキストボックスにB列の値を1行目から入れたい
Dim i As Integer
i = TabStrip1.Value + 1
TextBox1.ControlSource = "Sheet1!B" & Value + 1
成功
"Sheet1!B & Value + 1"はエラー
何故です?
宜しくお願いします
< 使用 Excel:Excel2010、使用 OS:unknown >
(γ) 2018/06/02(土) 22:34
ふざけてます?
これでどうですか?
TextBox1.Value=Sheets("Sheet1").Cells(i, B").Value
(マナ) 2018/06/02(土) 23:01
でした。
(マナ) 2018/06/02(土) 23:03
(あああ) 2018/06/02(土) 23:27
(γ) 2018/06/03(日) 07:02
よく見ると、 ≻TextBox1.ControlSource = "Sheet1!B" & Value + 1 ≻成功 ≻"Sheet1!B & Value + 1"はエラー ≻何故です? とありますね。
(1) 成功していたのは、Valueが未宣言の変数と解釈されていたからです。 Valueは""と同じ物と解釈されていたはずです。
Option Explicit をモジュールの一行目に挿入するようにして下さい。 そうすれば、今回のような未宣言の変数には警告が出て、 しかも場所を特定してくれますから、原因が直ぐに判明します。
http://officetanaka.net/excel/vba/beginner/06.htm
なお、 ツール − オプション − 編集 で 「変数の宣言を強制する」にチェックを入れておけば、 モジュールを作成した時点で、Option Explicitが自動的に挿入されるので、 手間が省けます。 一度だけチェックを入れておけば、以後、気にする必要はありません。
(2) ≻"Sheet1!B & Value + 1"はエラー ≻何故です? TextBox1.ControlSourceには、セルのアドレス文字列を入れるのが普通です。 "Sheet1!B & Value + 1"のように全体を"と"で囲むと、 それは文字列と解釈されますから、中にValueのような変数があっても それは単なる文字列であり、変数としては機能しません。 それが上のケースと違ってエラーになる理由です。
基本的なことをしっかり抑えることをお薦めします。
(γ) 2018/06/03(日) 08:13
(あああ) 2018/06/03(日) 08:58
(γ) 2018/06/03(日) 09:03
オブジェクトとプロパティ、メソッドとの関係など
復習することを勧める。全然理解不足だ。
今回の質問に関しては十分すぎるほどの回答がある。
あとはご自分の頭を働かせて下さい。
一部不適切発言があったかもしれない。
その点は失礼した。
外出しており、もう発言するつもりは無い。
余程の事がなければ。
(γ) 2018/06/03(日) 10:02
今回の質問に関しては十分すぎるほどの回答がある。
あとはご自分の頭を働かせて下さい。
承知しました
有難うございました
(あああ) 2018/06/03(日) 10:17
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.