Excel-makro na promazání řádků Vyřešeno

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

spejle
nováček
Příspěvky: 17
Registrován: září 10
Pohlaví: Nespecifikováno
Stav:
Offline

Excel-makro na promazání řádků

Příspěvekod spejle » 15 zář 2010 12:32

Dobrý den,
mám excel s mnoha řádky dat z experimentů a potřebovala bych nějaký předpis na to, aby mi v listu zůstal například každý desátý nebo každý druhý řádek a zbylé byly vymazány. Nevím si s tím rady, proto Vás moc prosím o pomoc. Předem děkuji, Iva.

Reklama
navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Excel-makro na promazání řádků

Příspěvekod navstevnik » 15 zář 2010 12:47

Pouzij nize uvedenou proceduru (v editoru VBA - Alt+F11 - vloz do standardniho modulu, uprav nazev listu: Worksheets("nazev listu").., zavolej z nabidka Nastroje>Makro>...):

Kód: Vybrat vše

Option Explicit

' ponechat kazdy n-ty radek:
' Kazdy=(2;3;4;...,255) - ponecha pocinaje n-tym radkem nebo pocatkem kazdy m-ty radek
Sub OdstranRadky()
Dim MyArea As Range, PoslRadek As Long, Kazdy As Byte, Pocatek As Long
Dim Odstran As Range, Ofs As Long
  Set MyArea = Worksheets("list3").UsedRange
  If IsEmpty(MyArea) Then End
  PoslRadek = MyArea.Rows.Count
  Application.ScreenUpdating = False
'************************
  Pocatek = 0 ' nastavit
  Kazdy = 5 ' nastavit
'************************
  Set Odstran = Worksheets("list3").Range("1:" & Kazdy - 1).Rows
  If Pocatek = 0 Then
    Ofs = Kazdy
  Else
    Ofs = Pocatek
  End If
  Kazdy = Kazdy - 1
  Do While Ofs < PoslRadek
    Odstran.Offset(Ofs, 0).EntireRow.Delete
    Ofs = Ofs + 1
    PoslRadek = PoslRadek - Kazdy
  Loop
  If Pocatek = 0 Then Odstran.EntireRow.Delete
  Range("a1").Select
  Application.ScreenUpdating = True
End Sub

Testuj na kopii sesitu, jinak hrozi v pripade chyby ztrata dat!
vice k VBA zde: http://www.officir.ic.cz/excelentne.html

Uživatelský avatar
Poki
Level 2
Level 2
Příspěvky: 237
Registrován: prosinec 09
Pohlaví: Muž
Stav:
Offline

Re: Excel-makro na promazání řádků  Vyřešeno

Příspěvekod Poki » 15 zář 2010 12:49

Zdravim,
otazka je, jestli tim 'zustal' myslite to, jestli se nepotrebne radky maji smazat nebo odstranit. Zkusim obe varianty.
Timto kodem muzete radky jen Smazat (kolikaty radek bude smazat zalezi na hodnote promenne Pocet):

Kód: Vybrat vše

Sub Smazat()
Dim Pocet As Integer
Pocet = 2
For i = 1 To Application.WorksheetFunction.CountA(Range("a:a")) Step Pocet
   Rows(i).ClearContents
Next
End Sub

Pokud chcete radky Odtranit, pouzijte tento kod (kolikaty radek bude smazat zalezi na hodnote promenne Pocet):

Kód: Vybrat vše

Sub Odstranit()
Dim Pocet As Integer
Pocet = 2
For i = Pocet To Application.WorksheetFunction.CountA(Range("a:a")) Step Pocet - 1
   Rows(i).Delete
Next
End Sub

spejle
nováček
Příspěvky: 17
Registrován: září 10
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Excel-makro na promazání řádků

Příspěvekod spejle » 15 zář 2010 13:27

Moc děkuji


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • excel text na konec více řádků najednou Příloha(y)
    od Myerina » 03 led 2024 11:51 » v Kancelářské balíky
    5
    1023
    od Zivan Zobrazit poslední příspěvek
    04 led 2024 09:42
  • Kopírování řádků s funkcí když Příloha(y)
    od Martyn20 » 20 črc 2023 16:50 » v Kancelářské balíky
    3
    2025
    od Melvidor Zobrazit poslední příspěvek
    21 črc 2023 08:41
  • Ukotvení prvního a posledního řádku v tabulce.
    od Kopusek » 13 pro 2023 10:50 » v Kancelářské balíky
    2
    1605
    od Kopusek Zobrazit poslední příspěvek
    14 pro 2023 08:55
  • Makro pro myš Rapture Python
    od mmmartin » 27 srp 2023 15:18 » v Problémy s hardwarem
    9
    1180
    od mmmartin Zobrazit poslední příspěvek
    29 srp 2023 16:47
  • Excel a OneDrive
    od sginfo » 11 zář 2023 15:28 » v Kancelářské balíky
    16
    6481
    od mirekol Zobrazit poslední příspěvek
    20 říj 2023 08:31

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 38 hostů