< návrat zpět
MS Excel
Téma: VBA název cílového listu z buňky
Zaslal/a hard 28.3.2020 22:36
Dobrý den,
v příloze mám tabulku, rozsah je dynamický, kterou chci klasicky kopírovat do listu téhož sešitu, který je ovšem definovaný v buňce AB2. Název listu se mění dle číselné hodnoty v A1. Z A1 mám vzorec na název listu, kam chci data poslat (kolo1, kolo10 atd.)
Mám klasický vzorec VBA s pevně daným názvem. Prosím, poraďte, nedokážu to. Pro odborníky hračka, já už na tom takhle strávil dost a na tohle jsem teď krátký.
Tady vzorec s listem "napevno" daným. Takže Sheets ("kolo10") chci nahradit dynamickým názvem v buňce v AB2.
Sub Copy2Sheet()
Application.ScreenUpdating = False
Dim LastRow As Long
LastRow = Sheets("TABKOL").Cells(Rows.Count, "B").End(xlUp).Row
Sheets("TABKOL").Range("B1:Z" & LastRow).Copy
Sheets("kolo10").Range("A1:Y" & Rows.Count).End(xlUp).Offset(0, 0).PasteSpecial xlPasteValues
Application.Goto Sheets("kolo10").Range("A1")
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Díky moc, poklona předem.
Edit: nejde vložit, sdílím odkaz
https://1drv.ms/x/s!AkEGAWH1Hfp0jooMEqcIOMGSCB05JA?e=gRyIeP
Prílohu XLSM môžete pridať iba zabalenú do ZIP. Tu máte návrh riešenia, bez kontroly či obsahuje list nejaké dáta, či existuje list a pod.:
Sub Copy2Sheet()
Dim LastRow As Long, List As String
With Sheets("TABKOL")
LastRow = .Cells(Rows.Count, "B").End(xlUp).Row
List = .Range("AB2").Value
Sheets(List).Range("A1:Y" & LastRow).Value = .Range("B1:Z" & LastRow).Value
Application.Goto Sheets(List).Range("A1")
End With
End SubPříloha: 46310_copysheetfromcell.zip (15kB, staženo 15x) citovat
hard(29.3.2020 10:15)#046312