Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

IF ili VBA Preskakanje kopiranja praznih ćelija

[es] :: Office :: Excel :: IF ili VBA Preskakanje kopiranja praznih ćelija

[ Pregleda: 3345 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

cira7
Miroslav Jovanov
Kać

Član broj: 206690
Poruke: 10
*.adsl.eunet.rs.



Profil

icon IF ili VBA Preskakanje kopiranja praznih ćelija24.09.2009. u 21:14 - pre 177 meseci
Pozdrav, imam jedan mali problemčić, a nisam za sada uspeo da nadjem neko valjano rešenje. Naime napravio sam makro koji mi kopira odredjene podatke iz jedne tabele u drugu i sve to lepo radi ali ima i viška koji mi smeta. Znači kopiram odredjeni Range, konkretno od a4:a20, ali mi nije uvek potrebno da kopiram sve ćelije jer nisu uvek sve popunjene. Kako da preskočim kopiranje praznih ćelija, tj. da mi u drugom Sheet-u budu podaci popunjeni redom bez praznih polja izmedju. Ono što sam za sada napravio izgleda ovako. Unapred hvala !!!

Code:
Sub unesi()

   Application.ScreenUpdating = False
   ActiveWorkbook.Sheets("podaci").Select
   
   Range("A3").Select
   Do
   If IsEmpty(ActiveCell) = False Then
       ActiveCell.Offset(1, 0).Select
   End If
   Loop Until IsEmpty(ActiveCell) = True
     
    
   Sheets("unos").Select
   Range("A4:A20").Copy
   Sheets("podaci").Select
   ActiveCell.Offset(0, 0).PasteSpecial (xlPasteValues)

   Sheets("unos").Select
   Range("B4:B20").Copy
   Sheets("podaci").Select
   ActiveCell.Offset(0, 1).PasteSpecial (xlPasteValues)
   
   Sheets("unos").Select
   Range("B1").Copy
   Sheets("podaci").Select
   ActiveCell.Offset(0, 1).PasteSpecial (xlPasteValues)

   Sheets("unos").Select
   Range("B2").Copy
   Sheets("podaci").Select
   ActiveCell.Offset(0, 1).PasteSpecial (xlPasteValues)
   
   Sheets("unos").Select
   Range("D2").Copy
   Sheets("podaci").Select
   ActiveCell.Offset(0, 1).PasteSpecial (xlPasteValues)
   
      
   Sheets("unos").Select
   Application.CutCopyMode = False
   
End Sub
 
Odgovor na temu

neptuncokg
Predrag M
racunovodja
Kragujevac

Član broj: 230353
Poruke: 326
212.200.216.*



+9 Profil

icon Re: IF ili VBA Preskakanje kopiranja praznih ćelija24.09.2009. u 23:15 - pre 177 meseci
Nisam siguran da cu ti mnogo pomoci, ali evo predloga. Ja resvam problem kopiranja u prvi slobodan-prazan red tako sto dodam sledeci kod posle selektovanja sheeta u koji se kopiraju podaci:
r = Range("F9999").End(xlUp).Offset(1, 0).Row ' cuva se pocetni broj reda
ActiveSheet.Cells(r, 6).Select

To bi u tvom slucaju bilo otprolike ovako, za jedno kopiranje:

Sheets("unos").Select
Range("B1").Copy
Sheets("podaci").Select
r = Range("F9999").End(xlUp).Offset(1, 0).Row ' cuva se pocetni broj reda
ActiveSheet.Cells(r, 6).Select
ActiveCell.Offset(0, 1).PasteSpecial (xlPasteValues)

Ovo "F9999" znaci da hoces da kopiras podatak iz B1(unos) u prvi slobodan red kolone F(podaci), uz pretpostavku da imas ukupno 9999 redova. Ako imas vise, stavi taj broj, ali je maksimalno 65536.

Ovo "(r,6)" oznacava da je kolona F sesta po redu. Za G ces staviti-7, itd.

To kod mene radi odlicno, ali ne znam kako ces se snaci za kopiranje vise celija odjednom. Verovatno ovaj moj primer treba da se preradi. Pozdrav.
 
Odgovor na temu

Jpeca
Predrag Jovanović
poslovni analitičar
Gowi
Pančevo

Moderator
Član broj: 25683
Poruke: 2268
194.106.170.*

Sajt: www.gowi.rs


+109 Profil

icon Re: IF ili VBA Preskakanje kopiranja praznih ćelija25.09.2009. u 08:41 - pre 177 meseci
Pretpostavljam da kopiraš vrednosti (ne formule). U tom slučaju može se napraviti jednostavan kod koji jednostavno prepisuje ćeliju po ćeliju ukoliko nije prazna.
Code:
Sub CopyValuesWithoutBlank(rngSource As Range, clDest As Range)
' rngSource je kolona sa vrednostima koje se kopiraju
' Kopiraju se samo neprazne celije pocevsi od clDest
' P. Jovanovic za elitesecurity.org

Dim cl As Variant
For Each cl In rngSource
  If Len(cl.Text) > 0 Then        ' da li je blanko
     clDest.Value = cl.Value
   Set clDest = clDest.Offset(1)  ' sledeci red
  End If
Next cl
End Sub


Pozivane ove rutine npr:

Code:
Sub Test()
Dim Source As Range
Dim Dest As Range

  Set Source = ActiveSheet.Range("A1:A20")
  Set Dest = ActiveSheet.Range("F1")
  CopyValuesWithoutBlank Source, Dest
End Sub


Za velike opsege imalo bi smisla efikasnije rešenje koje bi radilo Copy sa kombinacijom opsega, ali je ono komplikovanije za realizaciju

Nije to loše Rembrante, samo što ne bi dodao još malo boje?
 
Odgovor na temu

timmy
Jovan Timotijevic

Moderator
Član broj: 37087
Poruke: 634

Sajt: www.e-tim.net


+89 Profil

icon Re: IF ili VBA Preskakanje kopiranja praznih ćelija25.09.2009. u 10:12 - pre 177 meseci
A mozda bi i dovoljno bilo da iskopirane podatke (sa sve praznim redovima) samo sortiras
cime ce prazni redovi doci na kraj pa ih mozes ignorisati. Naravno, u slucaju da time ne
narusavas strukturu ciljne tabele.

Pozdrav
 
Odgovor na temu

3okc
Χoᴘᴦoѡ

Moderator
Član broj: 811
Poruke: 1319

Jabber: 3okc@elitesecurity.org


+116 Profil

icon Re: IF ili VBA Preskakanje kopiranja praznih ćelija25.09.2009. u 10:31 - pre 177 meseci
Ako više odgovara rešenje pomoću formula, prostudiraj prikačeni fajl u ovom postu.

Možda jeste komplikovano ali može da bude trajno rešenje.

Za instant rešenje, lično, poslužio bih se Excelovim alatima.
Konkretno, Go To > Special > Blanks
i onda Delete Entire Row.
Have you found helpful examples, solutions or ideas-in-work, please consider the
following:
• Citation of *actual page* you are going to using is welcome.
• Have you saw "Value Added" examples you are going to incorporate to your
profitable blog, daily job or any money making venture: How about online donation?
↗Ana & Vlade Divac Foundation
Hvala!
 
Odgovor na temu

cira7
Miroslav Jovanov
Kać

Član broj: 206690
Poruke: 10
*.adsl.eunet.rs.



Profil

icon Re: IF ili VBA Preskakanje kopiranja praznih ćelija25.09.2009. u 20:40 - pre 177 meseci
Hvala svima na savetima, pokušaću od svega po malo da isprobam, pa ću okačiti optimalno rešenje, da mogu i drugi da vide ako im bude nešto tako trebalo. Pozdrav
 
Odgovor na temu

cira7
Miroslav Jovanov
Kać

Član broj: 206690
Poruke: 10
*.adsl.eunet.rs.



Profil

icon Re: IF ili VBA Preskakanje kopiranja praznih ćelija26.09.2009. u 23:53 - pre 177 meseci
Evo ljudi napravio sam nešto što mi za sada radi posao. Pošto je kod dugačak, prikačiću dokument, pa možda nekome zatreba. Naime imam radnike koji mi rade povremeno i u različitom broju i ovo koristim za njihovu evidenciju. Ako neko zna prostije da napravi, naravno neću se ljutiti. Pozdrav
Prikačeni fajlovi
 
Odgovor na temu

[es] :: Office :: Excel :: IF ili VBA Preskakanje kopiranja praznih ćelija

[ Pregleda: 3345 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.