Я хотел бы добавить столбцы автоматически на основе значения ячейки на другом листе.Например, если значение ячейки говорит 25, я бы хотел, чтобы столбцы (включая формулы / формат) были расширены, чтобы вставить еще 3 столбца после 22.
Если значение ячейки изменится на 20, я быКак удалить последние два столбца.
Есть ли способ сделать это в VBA?Я полагаю, что может потребоваться какой-то тип кнопки обновления, если нет другого способа сделать это событием изменения?
Заранее спасибо!
Вот пример
Sub AddCols()
Dim lastColumn As Long
lastColumn = ActiveSheet.Cells(5, Columns.Count).End(xlToLeft).Column
'lastColumn.Select
Cells(5, lastColumn + 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
РЕДАКТИРОВАТЬ: я пробовал следующий код ниже, но он постоянно дает мне ошибку, когда происходит событие изменения.
colCount = Worksheets("Sheet2").Rows(1).End(xlToRight).Column
checkCell = Worksheets("Sheet1").Range("A1").Value
If checkCell > colCount Then
cellDiff = checkCell - colCount
Range(Columns(colCount + 1), Columns(colCount + cellDiff)).Insert Shift:=xlToRight
Range(Cells(1, ColCount), Cells(lRow, ColCount)).AutoFill Destination:=Range(Cells(1, ColCount), Cells(lRow, ColCount + cellDiff)), Type:=xlFillDefault
Else
cellDiff = colCount - checkCell
startCol = colCount - cellDiff + 1
Range(Columns(startCol), Columns(colCount)).Delete Shift:=xlToLeft
End If