![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.7ベストアンサー
- 回答日時:
読解力が無く申し訳ないです。
エラー処理と言う事ですか。
ListBoxQはその時、空白にしたいのでしょうか?
取敢えず、エラーの対応は、
On Error Resume Next ’エラーを無視して次の行へ
On Error GoTo ラベル ’エラー発生時ラベル迄スキップする
~
ラベル:
Err.Clear ’エラー情報をクリアー
などですかね。
>リストボックスにはフォーム起動時に.AddItem""でリストを読み込む。(ListIndex = 0なら)
ListBoxQはエラー時、空白にしたい。
On Error Resume Next
ListBoxQ.Text = WorkSheets("an").Cells(r,"B")
If Err.Number = 380 Then
ListBoxQ.ListIndex = 0
End If
Err.Clear
他には、
ListBoxQ.Text(Value) = をあきらめ
For i = 0 To ListBoxQ.ListCount - 1
If ListBoxQ.List(i) = WorkSheets("an").Cells(r,"B") Then
ListBoxQ.ListIndex = i
End If
Next i
>コントロール全部をIf文に組み込まないとダメなんでしょうか100超えるのですが…。
一機ではないでしょうから、処理時間は不問かな??
オブジェクト名を引数にしてファンクションなどで組むのはどうでしょう。。
Qchan1962様
何度も本当にありがとうございます。
文字列であれば読み込めるのに、なぜ””はダメなのか、ということに
引っかかってしまって、エラー処理をすればよいということに思い至りませんでした。
If Err.Number = 380 Then
ListBoxQ.ListIndex = 0 …こういうこともできるのかと。
たいへん勉強になりました。 作業している場所が別なので、今すぐに確認ができないのですが
ご教示いただいた内容でやってみます。
No.6
- 回答日時:
>リストボックスに表示したいと思っています。
選択すると言う意味ですか?
? リストボックスのItemには、すでにWorkSheets("an").Cells(r,"B")の値は登録されているのでしょうか?
登録されていないなら、実行時エラー380 (ListBoxQ.Text=)
登録されていれば、選択されます。
表示が選択の意味でないのなら、.Value=で設定は出来ないと思いますが、定かではありません。
Qchan1962様 何度もありがとうございます。
質問の内容がわかりづらく、ご迷惑をおかけしております。
リストボックスのItemには、フォーム起動時に””のほか、いくつかの文字列が登録されています。
質問にも書いた通り、該当のセルが空欄だとエラーになりなりますが、
登録されている文字列が入っていれば、その文字列が表示されます。
空欄だとエラーになるのを回避したいと思っています。
No.5
- 回答日時:
実行時エラー380に対しての回答ではありませんが、
>Listboxに取得したいセルの値
ListBoxQ.Value ? これってListBoxQの選択された値を取得したい時のプロパティでは?
TextBoxW.Value=のようには出来ないのではと?
ListBoxQ.AddItem WorkSheets("an").Cells(r,"B")
頓珍漢な回答ならごめんなさい。
siroppo様 スレッドお借りして申し訳ありません。
めぐみん_さんありがとうございます。
Qchan1962様 ありがとうございます。
せっかくご回答いただきましたが、
今回私が行いたかった事とは少し違うようです。
リストに追加したいのではなく、
リストボックスに表示したいと思っています。
No.4
- 回答日時:
No.3です。
>Set y =WorkSheets("test").Columns(1).Find(what:=Range("C1").Value, lookat:=xlWhole)
Findメソッドのシートと
>r =y.Row
>If Not y Is Nothing Then
>TextBoxW.Value = WorkSheets("an").Cells(r,"A")
代入元のシートが違うのに行番号は同じで間違いはないのでしょうか?
あと検索値の
>Range("C1").Value
はアクティブシートになりますが、現在WorkSheets("test")がアクティブなのですか?
めぐみん様 ありがとうございます。
はい、検索をかけるtestシートと、anシート:アクティブシートは別です。
検索をかけるシートから番地(?)を採り、アクティブシートの同一番地のレコードを取得します。
No.3
- 回答日時:
No.2です。
あ、コピペした訳じゃないんだね。
TextBoxW.Value = WorkSheets("an").Cells(r,"A")
ListBoxQ.Value = WorkSheets("an").Cells(r,"B")
↓
With WorkSheets("an")
If .Cells(r,"A").Value <> "" And .Cells(r,"B").Value <> "" Then
TextBoxW.Value = .Cells(r,"A").Value
ListBoxQ.Value = .Cells(r,"B").Value
End If
End With
ではダメですかね?
めぐみん様 いつもありがとうございます。
ご教示のコード、ちょっと変形して
If .WorkSheets("an").Cells(r,"B").Value <> "" Then
ListBoxQ.Value = WorkSheets("an").Cells(r,"B").Value
End If
としてリストボックスの1つで試してみましたが、同じエラーが出ました。
コントロール全部をIf文に組み込まないとダメなんでしょうか100超えるのですが…。
No.1
- 回答日時:
ご質問の内容だけでは、実行時エラー380は、特定の難しいエラーかも知れません。
デバッグでエラーコード(関連項目を含む)を示された方が良いと思います。
関連項目を含む:変数を使っていれば変数型など、セル値であれば文字数など
>セルの値が空欄だと
デバッグコード上での値?
エラーコードの右辺の値は""になっていますか?確認してみてはいかがでしょう。
Listboxに取得(登録)についても方法が分かりますので
ListBox1.AddItem Cells(i, 1)
ListBox1.RowSource = "Sheet1!A2:A4"
ListBox1.List = Range("A2:A4").Value
ListBox1.List = Array
ListBox1.List(.ListCount - 1, 1) = ~.Text
など、、どの方法?
取り敢えず
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- Excel(エクセル) エクセル バーコード作成で他のシートを参照するには? 2 2023/05/03 16:57
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/26 13:19
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Excel(エクセル) EXCEL 関数を教えてください。(A列の同じ値が複数ある場合vlookupで出来ますか) 4 2022/12/07 20:54
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 1 2023/02/27 22:21
- Visual Basic(VBA) エクセルVBA 3 2022/06/23 20:00
このQ&Aを見た人はこんなQ&Aも見ています
-
賃貸で可能な古民家風レトロな部屋作りのコツ!改めて知る畳の高い機能性と魅力も紹介
畳の部屋を雰囲気のよい部屋に仕上げたい!賃貸住宅でもできる古民家風のレトロな部屋作りのコツを伺った。
-
UserForm1.Showでエラーになります。
工学
-
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
ユーザーフォーム スクロールバー 非表示にしたい
Excel(エクセル)
-
-
4
Excel-VBA>コントロールをグレイアウトするには?
Excel(エクセル)
-
5
エクセルVBA ユーザーフォームのTextBoxを日付にしたい
Excel(エクセル)
-
6
エクセルVBA テキストボックスに3桁ごとにコンマ
Visual Basic(VBA)
-
7
VBAでユーザーフォームの表示を確認
Visual Basic(VBA)
-
8
エクセルVBAでcmbBoxのプロパティの設定方法
その他(Microsoft Office)
-
9
EXCEL2013 VBA ListBox 未選択
Excel(エクセル)
-
10
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
11
VB6,リストボックスの特定行の色変更は可能?
Visual Basic(VBA)
-
12
ExcelVBA でリストリストボックスにNULLを挿入
Access(アクセス)
-
13
VBA ユーザーフォームのChangeイベントを停止したい
Access(アクセス)
-
14
複数選択のListBoxでClickイベントが拾えません
Visual Basic(VBA)
-
15
エクセルVBAでテキストボックスに入力があった場合のみ、ワークシートに転記したい
Visual Basic(VBA)
-
16
リストボックスの選択解除
Visual Basic(VBA)
-
17
モーダルフォームとモードレスフォーム
Visual Basic(VBA)
-
18
コンボボックスのインデックスが不正
Visual Basic(VBA)
-
19
ExcelVBA でリストリストボックスに列見出しをコーディングでつける
Excel(エクセル)
-
20
エクセルVBA オプションボタンのチェックを外したい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
白血球が多いとどんな心配があ...
-
検便についてです。 便は取れた...
-
EXCELで条件付き書式で空白セル...
-
勃起する時って痛いんですか? ...
-
彼女のことが好きすぎて彼女の...
-
腕を見たら黄色くなってる部分...
-
小数点以下を繰り上げたものを...
-
Excel 数値の前の「 ' 」を一括...
-
至急!尿検査前日にオナニーし...
-
甲状腺が腫れているが血液検査...
-
値が入っているときだけ計算結...
-
口の中に黒い血の塊
-
中出しをするとお腹が痛い・・・。
-
2つの数値のうち、数値が小さい...
-
精子が黄色?
-
エクセル指定した範囲からラン...
-
MIN関数で空白セルを無視したい...
-
【エクセル】0以外が入力され...
-
尿検査前日に自慰行為した時の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
至急!尿検査前日にオナニーし...
-
白血球が多いとどんな心配があ...
-
尿検査前日に自慰行為した時の...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
腕を見たら黄色くなってる部分...
-
勃起する時って痛いんですか? ...
-
尿検査の前日は自慰控えたほう...
-
精子が黄色?
-
中出しをするとお腹が痛い・・・。
-
EXCELで条件付き書式で空白セル...
-
口の中に黒い血の塊
-
これって喉仏ですか? 私は女性...
-
2つの数値のうち、数値が小さい...
-
納豆食べた後の尿の納豆臭は何故?
-
EXCELで式からグラフを描くには?
-
小数点以下を繰り上げたものを...
-
excelでsin二乗のやり方を教え...
-
エクセル指定した範囲からラン...
おすすめ情報
Qchan1962様 ご回答有難うございます。
Dim y As Range
Dim r As Long
Range("C1")= UserForm1.TextBoxID.Text
Set y =WorkSheets("test").Columns(1).Find(what:=Range("C1").Value, lookat:=xlWhole)
r =y.Row
If Not y Is Nothing Then
TextBoxW.Value = WorkSheets("an").Cells(r,"A")
ListBoxQ.Value = WorkSheets("an").Cells(r,"B")
リストボックスにはフォーム起動時に.AddItem""でリストを読み込む。
デバックの箇所にマウスを合わせると、ListBoxQ.Value = "" と出てきます。
宜しくお願いします。
Qchan1962様、 めぐみん_様
ご回答をありがとうございました。
Qchan1962様から頂いた、NO.7の回答の通り、
On Error…のコードで今回は解決いたしました。
ありがとうございました。