Hejsan ! Låter lite som att du syftar på Excel, kan det stämma? Hej EE! Ok. Ett exempel här då:Autofyll
Jag går inte till det här med relativ referens. Jag skulle vilja autofylla i b-kolumnen så länge det står ett värde i a-kolumnen. Problemet är att den fyller bara så långt det blev just den gången jag spelade in makrot!
Tack på förhand!Sv: Autofyll
I så fall hittar du sista raden i A-kolumnen ur Range("A1").End(xlDown).Row som du sedan kan använda när du fyller din B-kolumn.
/EESv: Autofyll
Helt rätt angående att det är Excel som det handlar om. På det sätt som du skriver så hittar jag ju vart a-kolumen slutar men hur får jag B-kolumne att fortsätta fylla i tills den är i höjd med a-kolumnen?Sv: Autofyll
<code>
Sub AutoFyll()
Dim i As Integer, j As Integer
' Sista raden i kolum A
i = Range("A1").End(xlDown).Row
' Sista raden i kolumn B
j = Range("B1").End(xlDown).Row
' Om tabellen redan är fylld korrekt
If i = j Then
Exit Sub
' Om det är för många rader i kolumn B
ElseIf j > i Then
Range(Cells(i + 1, 2), Cells(j, 2)).ClearContents
' Om det är för några rader i kolumn B
Else
Range("A1").AutoFill Destination:=Range(Cells(j, 2), Cells(i, 2))
End If
End Sub
</code>
OBS att det inte är någon felhantering med i denna kod. Du måste tänka på hur tabellen kommer se ut i framtiden. Om den kan tänkas vara tom (eller bara ha värde i första cellen) riskerar du ett Overflow när Excel inte hittar "sista raden". Om formeln inte alltid finns i första cellen måste även detta ändras. Ett alternativ är att skriva in formeln i kod och låta ditt makro skriva in den i första cellen sen kopiera med AutoFill ner till sista raden i tabellen. <br>
Lycka till. <br>
/EE