によって返された範囲を処理することはできません。VBAが正しく、私はこのコードを持っているfindメソッド
Private Sub UserForm_Initialize()
Dim Text_Cell As Range
Dim temp As Control
Set Text_Cell = Sheet1.Cells.Find("Text")
Do Until Text_Cell.Offset(1, 0).Value = ""
Set temp = UserForm1.MultiPage(1).Controls.Add("Forms.Commandbutton.1", "h")
Set Text_Cell = text_Cell.Offset(1, 0)
Loop
編集:だけで簡単に明確化 - MsgBoxes、ブレークポイント、科学、魔法などを使用して、私は "の原因を発見VBAがループに到達する前に「必要なオブジェクト」エラーが発生します。
"テキスト"の値を持つシート内のセルを見つけようとしています。そのセルの値が下にあるセルごとに、私のユーザーフォームのコントロールを作成します。私が抱えている問題は、Findメソッドが正しいセルを見つけて返し、割り当てますが、何らかの理由でVBAが "text_Cell"変数を処理できないということです。たとえブレークポイントを設定して "text_Cell"私はそれが適切な細胞に割り当てられているのを見ました。私は "Object Required"エラーが発生し続ける。セルを単独で取得すると何も返されないため、Offst(1,0)を参照しようとすると「Object required」エラーが発生します。
あなたは*テキスト*を見つけて、その下の空白のセルすべてをループしています。空白以外のセルのすべてをその下に置いてはいけないと確信していますか? – Jeeped
@ジープ、ありがとう、私の間違い。私はそれを修正しますが、元の問題はループの外側にあります – mathgenius
あなたの例で問題を再現できませんでした。あなたはそれをテストしましたか? –