Sub ChangeCellValue()
Dim minValue As Integer
Dim maxValue As Integer
Dim newValue As Integer
Dim cell As Range
' Запрос диапазона значений
minValue = InputBox("Введите минимальное значение диапазона:")
maxValue = InputBox("Введите максимальное значение диапазона:")
' Проверка, были ли введены значения диапазона
If Not IsNumeric(minValue) Or Not IsNumeric(maxValue) Then
MsgBox "Диапазон значений указан некорректно."
Exit Sub
End If
' Преобразование введенных значений в целые числа
minValue = CInt(minValue)
maxValue = CInt(maxValue)
' Укажите адрес ячейки, которую нужно изменить (например, "A1")
Dim cellAddress As String
cellAddress = "A1"
' Получаем имя текущего файла
Dim currentFileName As String
currentFileName = ThisWorkbook.Name
' Выбираем текущий лист
Dim worksheet As Worksheet
Set worksheet = ThisWorkbook.ActiveSheet
' Выбираем нужную ячейку
Set cell = worksheet.Range(cellAddress)
' Присваиваем каждое целое число из диапазона по очереди
For newValue = minValue To maxValue
' Изменяем значение ячейки на новое
cell.Value = newValue
' Копируем значение ячейки и вставляем его как значение (без формул)
cell.Copy
cell.PasteSpecial xlPasteValues
' Проверяем, является ли текущая ячейка объединенной
If cell.MergeCells Then
' Получаем объединенный диапазон ячеек
Dim mergedRange As Range
Set mergedRange = cell.MergeArea
' Применяем значение ячейки ко всем объединенным ячейкам
mergedRange.Value = cell.Value
' Очищаем объединенные ячейки от форматирования
mergedRange.MergeCells = False
End If
' Получаем путь и имя текущего файла
Dim currentFilePath As String
currentFilePath = ThisWorkbook.Path & "\" & currentFileName
' Создаем новое имя файла с новым значением ячейки
Dim newFileName As String
newFileName = Replace(currentFileName, ".xlsx", "_" & newValue & ".xlsx")
' Сохраняем файл с новым именем
ThisWorkbook.SaveAs ThisWorkbook.Path & "\" & newFileName
' Закрываем текущий файл
ThisWorkbook.Close SaveChanges:=False
' Открываем новый файл
Workbooks.Open currentFilePath
Next newValue
MsgBox "Все успешно! Слава ИИ!"