Jag håller på med en Excel applikation. Jag kunde inte somna utan att försöka lösa detta. =) <code> [citerat Anna-Karin Söderberg Medlem:948 [Kopiera cell dynamiskt i Excel/VBA]#269359] Går ju alltid att hårdkoda formeln. nej, jag tänkte slippa det. Om det blir som jag tänkt det så kommer andra använda det och de är inte så haja på Excel och kan bli förvirrade om det står saker i celler som de inte skrivt något i.Kopiera cell dynamiskt i Excel/VBA
Man börjar med att fylla i lite uppgifter, dessa skiljer sig från fall till fall.
Skräckexemplet är väl 74 anmärkningar.
I C2 har jag en formel som jag vill kopiera ner till sista raden i A.
Koden ser ut så här:
<code>
Sub KopieraCell(lnLastRow)
inRange = "C2:C" & lnLastRow
Selection.AutoFill Destination:=Range(" &inRange&"), Type:=xlFillDefault
Range("D2:D15").Select ' den har jag inte gett mig på än.
End Sub
</code>
Jag får med mig lnLastRow det har jag kollat men jag kan inte få rutinen att ta emot min inRange.
Har testat med enkel, dubbel och tom trippelfnuttar utan att få ordning på det.
Har en riktigt ful loop som fungerar men det måste gå att lösa snyggare tycker jag eller?.Sv: Kopiera cell dynamiskt i Excel/VBA
<code>
Sub KopieraCell(lnLastRow)
inRange = "C2:C" & lnLastRow
Selection.AutoFill Destination:=Range(inRange), Type:=xlFillDefault
End Sub
</code>
Då funkar det finfint på min labpc i Office 2007Sv:Kopiera cell dynamiskt i Excel/VBA
Sub KopieraCell(lnLastRow)
iLastRow = lnLastRow
Range("C2").Select <= FELET. Tar jag bort det så smäller det
Selection.AutoFill Destination:=Range("C2:C" & iLastRow & ""), Type:=xlFillDefault
End Sub
</code>
Det kom inte med i mitt makro och jag är tvärgrön på Excel och VBA. Har pillat en dag med det.
Jag som lovade morsan att försöka sticka vid 8,30 tiden idag... Verkar som jag kommer sova över den tiden rätt bra. *gäääsp*Sv: Kopiera cell dynamiskt i Excel/VBA
<citat>
Range("C2").Select <= FELET. Tar jag bort det så smäller det
</citat>
Om du ska autofylla något bör du ju ha data att autofylla med. Skulle tro att det är därför du behöver den referensen. Ett sätt att komma runt det har du här: http://www.ozgrid.com/forum/showthread.php?mode=hybrid&t=20558
Vill varna lite för xlCellTypeLastCell, den funktionen är har lite "subtila problem" enligt sista posten här: http://www.tek-tips.com/viewthread.cfm?qid=1438221&page=8. Har själv råkat ut för det när jag förändrar radantal dynamiskt.
Hoppas du fått sova ut!
//AnnSv: Kopiera cell dynamiskt i Excel/VBA
Men det var kanske inte det du ville.
Ex. A * B i kolumn C
Sub KopieraCell()
Range("C2:C" & Range("A65536").End(xlUp).Row).FormulaR1C1 = "=RC[-2]*RC[-1]"
End Sub
Annars fungerar detta om man vill utgå från en formel i Cell C2
Sub KopieraCeller()
Dim SourceRange As Range
Dim fillRange As Range
Set SourceRange = Worksheets(ActiveSheet.Name).Range("C2")
Set fillRange = Worksheets(ActiveSheet.Name).Range("C2:C" & Range("A65536").End(xlUp).Row)
SourceRange.AutoFill Destination:=fillRange
End Sub
Sv:Kopiera cell dynamiskt i Excel/VBA
De ska kunna mata in uppgifterna och sen se sammanställningen och utifrån det laborera med vad de kan betala och se återbetalningstiden.