Excel - smazání každého n-tého řádku

Programy pro práci s textem, tabulkami, prezentacemi

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod RenEdi 14. 4. 2007 17:42

Prosím o radu

Jak smazat v tabulce Excel řádek a každý např. pátý řádek


no a ještě bych poprosil

mám ve sloupci data
jak smazat celý řádek sešitu, když buňka obsahuje např. číslo 5


děkuji předem
RenEdi
Junior

Odeslat příspěvekod Iol 14. 4. 2007 18:00

pokud vam postaci kazdy xty radek skryt tak nejspis pouzijte moznosti automatickeho filtrovani... na googlu je spousta prikazu - nektery z nich vam urcite pomuze s vasim konkretnim problemem
Go go, google...
Iol
Junior
Uživatelský avatar

Odeslat příspěvekod RenEdi 14. 4. 2007 18:06

skrýt mi nestačí protože, při okopírování sloupce se skrytý zase zobrazí
RenEdi
Junior

Odeslat příspěvekod obcasny_navstevnik 14. 4. 2007 21:50

odstraneni radku na listu lze dosahnout treba touto procedurou ve VBA:
'Excel 2000
Option Explicit
Sub OdstranRadky()
Dim Sl As String
Dim PosBunka As Range, Odstran As Range, Ofs As Long
Sl = "A:A" ' pro urceni posledniho radku v souvislem bloku
' nastaveni range na posledni bunku ve sloupci - radek 65536
Set PosBunka = Worksheets("List1").Range(Sl).Cells(Range(Sl).Cells.Count)
' posun na posledni neprazdnou bunku nahoru:
If IsEmpty(PosBunka) Then Set PosBunka = PosBunka.End(xlUp)
If IsEmpty(PosBunka) Then
End ' bunka na 1. radku je take prazdna
Else
' nastaveni pro liche: hodnota Ofs je ofset!!!
' Ofs = IIf(PosBunka.Row Mod 2 = 0, PosBunka.Row - 2, PosBunka.Row - 1)
' nastaveni pro kazdy paty:
Ofs = PosBunka.Row - (PosBunka.Row Mod 5) - 1
End If
Set Odstran = Worksheets("List1").Range("1:1")
Do ' odstraneni radku
Odstran.Offset(Ofs, 0).Select
Selection.Delete
Ofs = Ofs - 5 ' - 2 pro liche
Loop While Ofs > -1
Range("a1").Select
End Sub

odstranit radky, ve kterych bunka obsahuje zadanou hodnotu, lze modifikaci casti vyse uvedeneho (napr. pro bunku ve sloupci B:B obsahujici hodnotu 5) takto:
...
Dim Hodnota As Range
...
If IsEmpty(PosBunka) Then
End ' bunka na 1. radku je take prazdna
Else
Ofs = PosBunka.Row - 1
End If
Set Odstran = Worksheets("List1").Range("1:1")
Set Hodnota = Worksheets("List1").Range("a1")
Do ' odstraneni radku
If Hodnota.Offset(Ofs, 1).Value = 5 Then ' radek, kde hodnota bunky ve sloupci B:B =5
Odstran.Offset(Ofs, 0).Select
Selection.Delete
End If
Ofs = Ofs - 1
Loop While Ofs > -1
Range("a1").Select
End Sub
obcasny_navstevnik
Junior

Odeslat příspěvekod Bezec 5. 6. 2007 22:54

No asi nejako takto

For i = zaciatok to koniec step 5

if cells(i,1) = 5 then
rows(i).delete
end if

next i


začiatok bude prvý riadok v stlpci
koniec posledný riadok v stlpci

nezabudni že step udáva počet krokov o kolko sa má hodnota i zvýšiť
Bezec
Kolemjdoucí

Odeslat příspěvekod Matelko 10. 6. 2007 20:47

Bezec ma pravdu len celkom nepochopi zadanie.
to co ti napisal skontroluje v kazdom piatom riadku ci nie je v bunke ktora sa nachadza na "i" riadku hodnota "5" a ked je tak ti odstrani cely stlpec.
Ak chces prehladat cely stlpec tak nedavaj ten"step 5 "
Matelko
Kolemjdoucí


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků