Stránka 1 z 1

Kopírovaní více buněk pomocí VBA  Vyřešeno

Napsal: 10 dub 2012 21:33
od LovelyTank2
Zdravím všechny nadšence!

Takže po delší odmlce jsem se opět rozhodl něco vytvorit ve VBA a nečekaně jsem narazil na jeden problém, který je ale podle mě tak trivialní, že mám strach aby jste mě neukamenovali... A veřte mi - googlil jsem ostošest bohužel jsem nenašel vhodná slova...

K problému:

Jaká je syntaxe v případě, že potřebuji vykopírovat více buněk v jednom řádku ale nenavazují spolu?
Z mého pohledu amatéra Range použít nelze. Tzn. zbýva Cells (row, column).
Jak mám teda zapsat ve VBA, že chci kopírovat buňku (i,2),(i,4) a (i,7) kde i je nadefinovaná proměnná?

Předem díky za odpověď
David

Re: Kopírovaní více buněk pomocí VBA

Napsal: 11 dub 2012 06:42
od cmuch
Zdravím,
range lze použít a to třeba takto Range("C7,E7,G7,H7,J7,N7").Copy

Re: Kopírovaní více buněk pomocí VBA

Napsal: 11 dub 2012 10:45
od LovelyTank2
Diky za radu ale jde to udelat pomoci prikazu Cells?

Muj kod vypada

Kód: Vybrat vše

lastrow = Worksheets("Working_sheet").Range("D2").End(xlDown).Row

For i = 1 To lastrow

    Sheets("Working_sheet").Select

 
    If Cells(i, 2).Value = "remove" Then
   
   ' A tady potrebuju prave
   Cells (i,3) + Cells (i,5) + Cells (i,8) nakopirovat  - respektive udelat klasickou multiple selection (jako kdybych drzel Ctrl) a pote paste (viz. nize)
   
    Sheets("Removing").Select
    Range("A2").Select
    ActiveSheet.Paste
   

End If
Next i


PS: Nemam v praci ceskou sadu - proto bez hacku a carek :)
Diky predem
David

Re: Kopírovaní více buněk pomocí VBA

Napsal: 11 dub 2012 12:06
od Azuzula
Použij Union(Cells (i,3), Cells (i,5), Cells (i,8)).copy našla jsem to v nápovědě Excelu ;)

Re: Kopírovaní více buněk pomocí VBA

Napsal: 11 dub 2012 13:07
od LovelyTank2
Jezis ja sem idiot....

Kazdopadne dekuji moc za help!
(Bohuzel mam dalsi issue tak budu tvorit dalsi topic :( )

Re: Kopírovaní více buněk pomocí VBA

Napsal: 11 dub 2012 15:44
od Azuzula
To nic, to se stává i těm nejlepším z nás ;)
Teď mi ještě došlo že i range jde použít jen to asi není tak elegantní.
Range("C" & i & ", E" & i & ", H" & i).copy