< návrat zpět

MS Excel


Téma: Opravení makra na odstranění prázdných řádků rss

Zaslal/a 11.8.2017 13:51

Ahoj opět zde (výtečné forum) 1
mám makro na odstranění prázdných řádků které funguje, ale pokud chci aby zůstal první řádek statický, nedokážu to tam nacpat, nevíte někdo, dík moc
Sub odstranit_prazdne_radky()
ActiveSheet.UsedRange.Select
Dim i As Long
'Vypneme prepocitovani, aby se makro zbytecne nezpomalovalo
With Application
.Calculation = xlCalculationManual
.ScreenUpdating = False
'Prochazime rakdy a odstranujeme
For i = Selection.Rows.Count To 1 Step -1
If WorksheetFunction.counta(Selection.Rows(i)) = 0 Then
Selection.Rows(i).EntireRow.Delete
End If
Next i
'Zase zapneme prepocitavani
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
End With
End Sub

Příloha: zip37234_prazde-radky.zip (17kB, staženo 2x)
Zaslat odpověď >

#037235
avatar
Třeba vyměnit 1 za 2 ...

For i = Selection.Rows.Count To 2 Step -1citovat
#037236
avatar
Určite máte na mysli len zachovanie 1. riadku ? Nie náhodou aj 1. stĺpca ? Ten stĺpec je divný, pže číslo 1 začína na riadku s hlavičkou.
Tie čísla majú ostať priradené tak ako sú k určitým menám, alebo majú ostať stále v nemennej postupnosti bez ohľadu aké meno pri nich je a nemajú sa mazať, alebo ako ?
Je to vždy takto "konštruovaná" tabuľka, a na rovnakom mieste, alebo aj inak široká a začínajúca na inom stĺpci ako A ?
O koľko sa jedná max riadkov pre kontrolu ?
Toľko otázok preto, že sa to dá navrhnúť za určitých okolností tak, aby to bolo rýchlejšie. Ale keď ich je iba pár tak to netreba riešiť.

EDIT: Pridávam príklad rýchleho riešenia "Makro2" pre prípad, keď by boli dáta vždy na 6 stĺpcov a začínali by v A1 (čo by tak aj malo byť, ak chcete niečo automatizovať). Hromadne zistí prázdne riadky a hromadne ich vymaže. Nepristupuje k bunkám po jednom (pomalé) ale naraz. Význam to bude mať ale len pri väčšom množstve riadkov. Ak to myslíte inak, treba upresniť.
Příloha: zip37236_prazde-radky.zip (17kB, staženo 3x)
citovat
#037238
avatar
Omlouvám se jsem osel, že jsem poskytl málo informací a hlavně jsem špatně napsal "řádek" a měl to být sloupec 7
Sloupec ("A" s čísly) by měl zůstat neměný, vždy by se po odstranění duplicit, pak spustilo makro, které by ostatní řádky posunuly na prázdné pozice.
dodal jsem novou přílohu kde je to vysvětleno barevně.
Děkuji učím se za chodu..
Příloha: zip37238_posun-radku_new.zip (11kB, staženo 1x)
citovat
#037239
avatar
Ale nevieme stále, či bude premenný počet stĺpcov. V prvom príklade je dátových 5 a v druhom 7. Tu je príklad, kde to odstráni duplicity aj prázdne v jednom kroku, ale dal som tam pre jednoduchosť napevno oblasť B2:H81.
Vzhľadom na to, že sa jedná len o 80 riadkov, tak bude ale asi ľahšie pochopiteľné vymazanie duplicít pomocou rady čo ste dostal v minulom vlákne, a mazanie prázdnych riadkov v B:H postupne. Skúste, či rozumiete funkčnosti kódu.
Příloha: zip37239_posun-radku_new.zip (18kB, staženo 3x)
citovat
#037245
avatar
Úžasné, vaše kody jsou rychlé a přehledné, dal jsem krokovat a zkoušel upravit a i to jde, děkuji mnohokrát.citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura III

Oblíbený formulář Faktura byl vylepšen a rozšířen. Formulář faktura III
Více se dočtete zde.

Aktivní diskuse