誰でも助けることができます。次のコードで問題が発生しています。エラー1004が発生し続けます。
Private Sub CommandButton1_Click()
Sheets("Main Sheet").Range("A8").Formula = "=LOOKUP(2,1/(DATA!L1:L20212<>""),DATA!L1:L20212)"
End Sub
=LOOKUP(2,1/(DATA!L1:L20212<>""),DATA!L1:L20212)
ボタンが選択されたら、コマンドボタンを使用してセルA8にこのコードを入力します。
二重引用符をエスケープする必要があります。これを行う:
Private Sub CommandButton1_Click()
Sheets("Main Sheet").Range("A8").Formula = "=LOOKUP(2,1/(DATA!L1:L20212<>""""),DATA!L1:L20212)"
End Sub
式(<>""""
)に4つの二重引用符があることに注意してください。文字列の一部として記述する必要がある文字列内の引用符は、別の二重引用符文字でエスケープする必要があります。そうしないと、コードは文字列の最初/最後になります。
補遺
コメント内の追加の質問に答えるために、フォームが開いたときにこの情報を削除することができます。これUserForm_Activate
を実現するために処理できるフォームイベント()があります。たとえば、フォームコードに次を追加します。
Private Sub UserForm_Activate()
Sheets("Main Sheet").Range("A8") = "" ' clear previous data
End Sub
これは、イベントが発生したとき、つまりフォームが「アクティブ化」されたときに、「メインシート」の範囲「A8」にある以前のデータがすべてクリアされることを意味します。
補遺2
ブックを開いたときに「メインシート」の範囲「A8」の値をクリアするには(以前のソリューションでは、ユーザーフォームを開いたときにのみクリアします)、ブックにイベントハンドラーを追加する必要があります。
ThisWorkbook
Excelオブジェクトを開き、これを次の場所に追加します。
Private Sub Workbook_Open()
Sheets("Main Sheet").Range("A8") = "" ' clear previous data
End Sub
このイベント(Workbook_Open
)は、ブックが開かれたときに発生します。このコードをThisWorkbook
オブジェクトに追加することは非常に重要です。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加