私はVBAコードでExcelファイルを持っています ユーザーフォームに6桁の数字を入力すると、VBAは別のシートをチェックし、 6桁の数字がワークシートにあります。 もしそうであれば、ステージを変更しますが、この6桁の数字をワークシートに追加しますVBAコードをスピードアップするには
これは完璧に動作しましたが、Excelファイルが行数6000行は、このコードは非常に遅くなっており、シートを更新する20秒までかかる
誰かが私には、このコードアップを加速、またはそれはコードが
の下ある
acheiveする別の方法を提案する助けてくださいPrivate Sub cmdPSDUdate_Click()
Dim x
If (Me.PSDUDateRow = "") + (Me.PSDStageCB.ListIndex = -1) Then Exit Sub
With Sheets("psdata stage cals").ListObjects("PSDataStageCals")
x = Application.Match(Val(Me.PSDUDateRow), .ListColumns(1).DataBodyRange, 0)
If IsNumeric(x) Then
.ListRows(x).Range(2) = Me.PSDStageCB.Value
Else
.ListRows.Add.Range = Array(Val(Me.PSDUDateRow), Me.PSDStageCB)
End If
End With
Me.PSDUDateRow.Value = ""
Me.PSDStageCB.Value = ""
Me.PSDUDateRow.SetFocus
End Sub
ありがとうございます
ラフール
コードにエラーは発生せず、単に遅い場合は、ここに属しません。レビューと改善の提案については、https://stackexchange.com/に移動することを検討してください。 –
@KostasK。私はあなたが[CodeReview.SE](https://codereview.stackexchange.com/help/how-to-ask)を意味すると思いますか? – Vegard
正しい。 https://codereview.stackexchange.com/questions/tagged/vba –