お世話になっております。
テキストボックスとコンボボックスで入力した値を、エクセルの表に反映させル表を作りたいと思います。
Setをいろいろなところにつけてみたり、変数を変えたりしたんですがわからなく
デバッグもしてみたんですが、1行目の段階でエラーが出てしまっていて、
手を付けられない状態になっております。
よろしくお願い致します。
課題と言いましたが、独学です。
こんな事で質問することが恥ずかしく、
つい学校と言ってしましました。
不快に思われた方、申し訳有りませんでした。
エラーメッセージは、
実行時エラー'424'
オブジェクトが必要です。
追記です。
検証した結果、このコードを除けば実行はしてくれます。
どうやらここが悪いことがわかりました。
ですが、どこを消しても、先ほどと同じエラーが起きてしまします。
Private Sub UserForm_Initialize() With maker .AddItem "A" .AddItem "B" .AddItem "C" .AddItem "D" .AddItem "E" .AddItem "F" .AddItem "G" .AddItem "H" .AddItem "I" .AddItem "J" End With With kategori .AddItem "1" .AddItem "2" .AddItem "3" .AddItem "4" .AddItem "5" .AddItem "6" .AddItem "7" .AddItem "8" .AddItem "9" .AddItem "10" .AddItem "11" End With If ToggleButton1.Value = True Then hinban.SetFocus Else date1.SetFocus End If End Sub コード
タイトルには質問内容に寄せた要件のみを記載してください。またコードはマークダウンのcode機能を利用してください。というか、課題代行をうける場所ではありません。もう少し自身で頑張ってください。何をするプログラムなのか要件は何なのか何もなしに丸投げられても回答は得られません
「エラーが出たので直してほしい」は単なる丸投げです。「xxしようとして」「xxというエラーがxxの箇所で起こって」「xxを試してみたらxxだった」という、解決できるような情報や質問者様が解決するためにやってみたことを記載してください。
エラー文も記載してください。
エラー文はそれだけですか?できればエラー文はそのままコピペしてください。その際、個人情報が入っている箇所があれば伏せて構いません。
申し訳ありません。エラー分はこれだけになります。
デバッグの際、一行目にブレークポイントを設定されましたか?また、FuncやSubなどが書かれていないようですがなくてもよかったんですっけ?一番怪しいのは7行目の lRow = ws1.Range("A" & Rows.Count).End(xlUp).Row の、Set書き忘れ
1行目にブレークポイント設定しました。こちらのコードが途中抜きしたものになります。
コードを割愛するのは全然よいのですが、できればメソッドの頭とおしりは載せておいたほうがよいかと。(ちなみに、独学は独学で、応援してくれる人は多いと思います!)
一行目でエラーというなら、一行目のコードも載せないと
オブジェクトが必要です。とエラーがでるのは、どの行ですか?
With kategori の行です。
With kategori の行からEnd Sub までの間がどこをやってもエラーが出ます。
kategoriの定義内容が判りません。kategori はコンボボックスの名前ですか?
コンボボックスの名前です。Private Sub kategori_Change() With kategori If .Value = "" Then .AddItem End If .Style = fmStyleDropDownList End With If kategori.Value = "" Then kategori.Value = "" Else hinban.SetFocus End If End Sub
Private Sub UserForm_Initialize()の行にブレークポイントを置いて、止まってからステップ実行したらどうなります?
.Add Item "2" でエラーが出ます。
makerの値を確認してみて下さい。何も値がないっていないということはありませんか?
少なくとも私の環境ではエラーにはならないですねぇ。
こちらでも確認してみましたが、With kategori の箇所ではエラーにはならないですね。
kategoriの処理を全部削除したら動くんでしょうか?
kategoriより下の行ですね。それより上までは動きます。
with kategori~end if まで消すと動きます。
デバッグは慣れるまで苦労されるでしょうが必須なので、少しずつでもできるようになることを祈ってます。デバッグに対する資料が少ないのが原因なのか初心者さんが陥りがちな勘違いですが、デバッグなんかしなくてもいいでしょというのは大きな間違いです。ほぼ100%のプログラマがデバッグを経験してます。
回答2件
あなたの回答
tips
プレビュー