У меня есть этот код для генерации партии штрих-кодов с использованием формы. Моя дилемма - когда я использовал файл на моем Mac, он не работает должным образом. Кажется, что количество цикла очень необычно увеличивается, и чем дольше я его использую, тем больше цикл умножается, хотя пакет кода верен только в том случае, если он повторяется снова. Кстати, ошибок даже не было.
Пожалуйста, прокомментируйте. Ниже приведен код, который я использовал, и прогноз результата.
Sub Example()
InventoryLog.Activate
er = Cells(Rows.count, 1).End(xlUp).Offset(1, 0).Row
Cells(er, 1) = TemporaryDataHolder.Range("StockInventoryYear").value
Cells(er, 2) = TemporaryDataHolder.Range("StockInventoryMonth").value
Cells(er, 3) = TemporaryDataHolder.Range("SIPONumberLine").value
Cells(er, 4) = TemporaryDataHolder.Range("SIPurchaseInvoiceDateLine").value
Cells(er, 5) = TemporaryDataHolder.Range("SIPurchaseInvoiceNumberLine").value
Cells(er, 6) = TemporaryDataHolder.Range("SIProductNameLine").value
Cells(er, 7) = TemporaryDataHolder.Range("SIBarcodeStart").value & "-" & TemporaryDataHolder.Range("SIBarcodeEnd").value
Cells(er, 8) = TemporaryDataHolder.Range("SIQuantityLine").value
Cells(er, 9) = TemporaryDataHolder.Range("SIBarcodeStart").value
Cells(er, 10) = "In"
Cells(er, 11) = "N/A"
Cells(er, 12) = TemporaryDataHolder.Range("SILoggedByLine").value
Cells(er, 13) = Now()
Cells(er + 1, 1) = TemporaryDataHolder.Range("StockInventoryYear").value
Cells(er + 1, 2) = TemporaryDataHolder.Range("StockInventoryMonth").value
Cells(er + 1, 3) = TemporaryDataHolder.Range("SIPONumberLine").value
Cells(er + 1, 4) = TemporaryDataHolder.Range("SIPurchaseInvoiceDateLine").value
Cells(er + 1, 5) = TemporaryDataHolder.Range("SIPurchaseInvoiceNumberLine").value
Cells(er + 1, 6) = TemporaryDataHolder.Range("SIProductNameLine").value
Cells(er + 1, 7) = TemporaryDataHolder.Range("SIBarcodeStart").value & "-" & TemporaryDataHolder.Range("SIBarcodeEnd").value
Cells(er + 1, 8) = TemporaryDataHolder.Range("SIQuantityLine").value
Cells(er + 1, 9) = SIBarcodeStartTextBox.text + 1
Cells(er + 1, 10) = "In"
Cells(er + 1, 11) = "N/A"
Cells(er + 1, 12) = TemporaryDataHolder.Range("SILoggedByLine").value
Cells(er + 1, 13) = Now()
Do
Cells(Rows.count, 1).End(xlUp).Offset(1, 0).Rows.Select
ActiveCell.value = TemporaryDataHolder.Range("StockInventoryYear").value
ActiveCell.Offset(0, 1) = TemporaryDataHolder.Range("StockInventoryMonth").value
ActiveCell.Offset(0, 2) = TemporaryDataHolder.Range("SIPONumberLine").value
ActiveCell.Offset(0, 3) = TemporaryDataHolder.Range("SIPurchaseInvoiceDateLine").value
ActiveCell.Offset(0, 4) = TemporaryDataHolder.Range("SIPurchaseInvoiceNumberLine").value
ActiveCell.Offset(0, 5) = TemporaryDataHolder.Range("SIProductNameLine").value
ActiveCell.Offset(0, 6) = TemporaryDataHolder.Range("SIBarcodeStart").value & "-" & TemporaryDataHolder.Range("SIBarcodeEnd").value
ActiveCell.Offset(0, 7) = TemporaryDataHolder.Range("SIQuantityLine").value
Cells(Rows.count, 9).End(xlUp).Select
ActiveCell.Offset(1, 0).value = Selection.value + 1
ActiveCell.Offset(1, 1) = "In"
ActiveCell.Offset(1, 2) = "N/A"
ActiveCell.Offset(1, 3) = TemporaryDataHolder.Range("SILoggedByLine").value
ActiveCell.Offset(1, 4) = Now()
Cells(Rows.count, 9).End(xlUp).Select
If Selection.value = SIBarcodeEndTextBox.text Then Exit Do
Loop
Application.DisplayAlerts = False
End Sub
Результат кода: