Идея этого кода состоит в том, чтобы скопировать и вставить начальные значения для листа Excel.В моем файле 10 листов, и пользователь выбирает из списка список различных листов, в которых он хочет дублировать данные.
Поскольку подпрограмма остается в цикле, я не могу закрыть Excel или сохранить файл.
Проблема связана с Sheets (k). Активируйте, как, например, если я использую Sheets (1), она не будет зацикливаться.Кроме того, в конце подпункта, если я изменю лист вручную, щелкнув по одному из них, он выйдет из цикла и позволит мне закрыть / сохранить Excel.
Поскольку этот файл предназначен для клиента, я не хочу, чтобы он был удобен для пользователя и избегал назойливых ошибок, подобных этой.
Сейчас я попытался добавить выходную подпрограмму, конецв конце, но ничего не произошло, я также попытался создать цикл If, говорящий, что если Sheets (k) активирован, то vba нужно остановить Sub.
Private Sub CommandButton1_Click()
Dim i As Integer
Dim k As Integer
ActiveSheet.Range("A1:G5").Select 'Selects yellow cells
Selection.Copy 'Copies yellow cells
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then 'If the value is selected
k = ListBox1.List(i) 'k becomes the selected value
Sheets(k).Activate 'Activates the selected value sheet
Range("A1:G5").Select 'Selects yellow cells
ActiveSheet.Paste 'Pastes initial data
End If
Next i
''***** Selects cell A15 in all sheets (Visual purpose) *******************************
For i = 1 To k
Sheets(i).Activate
Range("A15").Select
Next i
Sheets(k).Activate 'Go to the last duplicated sheet
Application.CutCopyMode = False
End Sub