Я работаю над большим проектом Excel, который требует ввода большого количества данных, распределенных по рабочему листу, которые должны быть введены как можно быстрее. Чтобы попытаться помочь с записью, я создал несколько пользовательских форм, в которые пользователь вводит данные. Одна такая форма возвращает вышеупомянутую ошибку «Process Too Large» при попытке передать данные.
Я понимаю, почему ошибка выскакивает - это слишком долго. Я включил код для одной такой записи (немного измененный, конечно) и мне было интересно, как я смогу его урезать?
Dim ws As Worksheet
Dim i As Long
Set ws = ThisWorkbook.Sheets("STOCK")
' 101
If entry101.Value <> "" Then
Dim NUM101 As String
If com101.Value <> "" Then
NUM101 = "# - " & UCase(com101.Value)
Else
NUM101 = ""
End If
If cmb101.Value = "FULL" Then
ws.Range("_101").Value = UCase(code101.Value) & " " & Chr(10) & UCase(com101.Value) & " - FULL " & Chr(10) & " "
End If
If cmb101.Value = "OUT OF STOCK" Then
ws.Range("_101").Value = UCase(com101.Value) & " OUT OF STOCK " & Chr(10) & UCase(code101.Value) & " " & Chr(10) & " "
End If
If cmb101.Value = "SHIPPED" Then
ws.Range("_101").Value = UCase(code101.Value) & " " & Chr(10) & " - SHIPPED " & Chr(10) & NUM101
End If
If cmb101.Value = "DAMAGED" Then
ws.Range("_101").Value = UCase(code101.Value) & " DAMAGED " & Chr(10) & " "" & Chr(10) & NUM101"
End If
If cmb101.Value = "LOW STOCK" Then
ws.Range("_101").Value = UCase(com101.Value) & " LOW-STOCK " & Chr(10) & UCase(code101.Value) & " " & Chr(10) & " "
End If
If cmb101.Value = "RETURN" Then
ws.Range("_101").Value = UCase(code101.Value) & " " & Chr(10) & "RETURNED - " & UCase(com101.Value) & " " & Chr(10) & " "
End If
If cmb101.Value = "" Then
ws.Range("_101").Value = UCase(code101.Value) & Chr(10) & " - UNKNOWN CONDITION"
End If
End If
Пользовательская форма имеет два текстовых поля («code101» и «com101») и один ComboBox («cmb101») для каждой записи. Приведенный выше код необходимо применять в диапазоне от «_101» до «_143», поэтому его необходимо повторить 43 раза.
Любая помощь будет принята с благодарностью. Спасибо всем.