Mam makro, które dodaje wiersz i ściągaformuła z powyższego wiersza. To działa dobrze, z wyjątkiem mojego bezwzględnego odniesienia. Potrzebuję kodu, który wyświetli poniżej mój pożądany stan. Jestem początkującym w tym, więc jeśli mógłbyś dodać do mojego kodu, który byłby bardzo doceniany !!
Aktualny stan - VBA Dodaj kod wiersza (poniżej) zapewnia:
$B$1
$B$1
$B$1
Pożądany stan - kod zapewnia:
$B$1
$B$2
$B$3
Aktualny kod VBA to:
Sub Insert_Row()
ActiveSheet.Unprotect
Application.Goto Reference:="Insert_Row"
Dim insRows As Long
insRows = ActiveCell.Row
Selection.EntireRow.Insert
Range("B" & insRows - 1, "B" & insRows - 1).Select
Selection.AutoFill Destination:=Range _
("B" & insRows - 1, "B" & insRows), Type:=xlFillValues
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:=True _
, AllowFiltering:=True, AllowDeletingRows:=True
End Sub
Dzięki!!
Odpowiedzi:
1 dla odpowiedzi № 1Udało mi się rozwiązać ten problem, wykonując wszystkie komórki w kolumnie B Absolute, gdy tylko skończyłem kod VBA. Zrobiłem to przez:
Dim LastCell As Range
Set LastCell = Range("B" & Rows.Count).End(xlUp)
Range("B1", LastCell).Formula = Application.ConvertFormula _
(Formula:=Range("B1", LastCell).Formula, FromReferenceStyle:=xlA1, _
ToReferenceStyle:=xlA1, ToAbsolute:=xlAbsolute)