私はvbaが初めてです-文字通り3日間しかやっていません。
とにかく、ユーザーからデータを取得するフォームがいくつかあり、それらを別の「ログ」シートの一番上の行に書き込みます。私はこれを使用しています:
With Worksheets("Log")
.Unprotect
.Range("A2").EntireRow.Insert Shift:=xlDown
.Range("A2") = varToken
.Range("B2") = varAction
.Range("C2") = varLocation
.Range("D2") = varTracking
.Range("E2") = Date
.Range("F2") = Time
.Range("G2") = varPerson
.Range("H2") = varOverride
.Protect
End With
問題は、ログ シートに 0.5 秒間フリックしてから、書き込むのに時間がかかることです。
ログの一番上の行に書き込んでいる理由は、varToken の 100 個の vlookups (参照するトークンが 100 個あります) を使用してフロント シートに要約されたデータがあり、最初の (つまり一番上の) エントリを見つけるためです。ログシートで。
より迅速にログ シートの最後に書き込むこともできますが、100 個の vlookup を置き換えるコードが必要になります。このコードは、潜在的に数千行から数千行にあるトークンの最後の言及を検索し、迅速に実行されます。
前もって感謝します!