私がやろうとしているのは、ユーザーがセルにテキストを入力する 1 つのシートにユーザー入力フィールドを作成することです。次に、別のシートを選択するマクロを実行し、その入力テキストを検索機能で使用できます。
テキストが見つかったら、テキストが見つかった列全体を選択する必要があります。右側のすべてのセルから、次の入力されたセルまで (「見つかった」単語/フレーズが配置されている行) も選択する必要があります。これらのセルは削除されます。
私は2つの主な問題を抱えています。値を変更して関数を使用する方法が見つからないようですFind
(値と言いましたが、ユーザー入力フィールドに入力された単語、フレーズなどを意味します)。特定の値を検索することしかできず、代わりにユーザーが入力したフィールドを参照できません。
2番目の問題はFind
、列の選択です。関数がユーザーが入力した値/単語/フレーズを見つけると、そのセルが選択されます。列全体(およびその右側の列まで)を選択したいと思います特定の行の次の入力セル)。
これは、ユーザーが入力した値/単語句が常に変化するため、列を参照できないように見えるため、同様の問題です。特定の列しか選択できません。選択した列は、値を見つけているシートが常に更新されているため、次回マクロを実行するときにおそらく削除する必要がないという問題があります。
ここに私がこれまでに持っているコードがあります。
Sub Macro3()
Sheets("Instructions").Select
Range("C53").Select
Selection.Copy
Sheets("Forecast").Select
Cells.Find(What:="4150T83G01", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
Columns("BW:BY").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
End Sub
したがって、基本的に、範囲 C53 は変更されません。私は常に、ユーザーが検索する単語/フレーズ/値を入力する場所にしたいと考えています。
コードが言う場所Cells.Find(What:="4150T83G01"
-特定の値を参照するのではなく"Instructions"
、セルC53のシートにユーザーが入力した単語/フレーズ/値を参照する必要があります。
そして最後に、コードが言うところColumns("BW:BY").Select
- ユーザーが入力した単語/フレーズ/値が見つかった列と、見つかったセルの右側の列を、特定のセルではなく、次の入力セルまで参照するためにこれが必要です列BW:BY
。
それが理にかなっていることを願っています。どんな助けも大歓迎です! ありがとうございました!