makro s podminkou na mazani radku Vyřešeno

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

Moderátor: Mods_senior

jiri255
Level 1.5
Level 1.5
Příspěvky: 105
Registrován: leden 13
Pohlaví: Muž
Stav:
Offline

makro s podminkou na mazani radku

Příspěvekod jiri255 » 04 dub 2013 17:23

Dobrý den,
mám níže uvedené makro kde, když zadám například podmínku "čas" ,tak makro najde všechny řádky,
které obsahují slovo "čas" a ty odstraní, takže makro jako takové funguje dokonale.
A já mám dotaz, zdali by bylo možné toto makro upravit, tak aby pokud najde řádek, který obsahuje slovo "čas",
tak tento řádek smazalo, tak jak to dělá teď a navíc ještě smazalo i řádek pod řádkem, který obsahuje to
slovo "čas".
Tedy nalezneli na řádku 3 slovo "čas" smaže zároveň i následující řádek číslo 4 a nalezneli dále slovo "čas"
na řádku třeba 6 smaže zároveň i řádek pod ním tedy 7 a tak dále....
Věděl by prosím někdo z Vás, jak toto makro takhle upravit?

Kód: Vybrat vše

Sub smazat_cas()

Dim Firstrow As Long
Dim Lastrow As Long
Dim Lrow As Long
Dim CalcMode As Long
Dim ViewMode As Long
Dim Kde As Integer

With Application
    CalcMode = .Calculation
    .Calculation = xlCalculationManual
End With
With ActiveSheet
.Select
ViewMode = ActiveWindow.View
ActiveWindow.View = xlNormalView
    .DisplayPageBreaks = False

Firstrow = .UsedRange.Cells(1).Row
Lastrow = .UsedRange.Rows(.UsedRange.Rows.Count).Row

For Lrow = Lastrow To Firstrow Step -1

With .Cells(Lrow, "A") ' Sloupec s hledanou podmínkou
If Not IsError(.Value) Then

On Error Resume Next
Kde = WorksheetFunction.Search("čas", .Value, 1)

If Err.Number = 0 Then
 .EntireRow.Delete 'podmínka je v uvozovkách
End If
Err.Clear


End If
End With
Next Lrow
End With
ActiveWindow.View = ViewMode
With Application
.Calculation = CalcMode
End With
End Sub

Reklama
cmuch
Level 4.5
Level 4.5
Příspěvky: 1547
Registrován: březen 11
Bydliště: Drsná Vysočina :D
Pohlaví: Muž
Stav:
Offline

Re: makro s podminkou na mazani radku

Příspěvekod cmuch » 04 dub 2013 19:22

Upraven kousek makra

Kód: Vybrat vše

If Err.Number = 0 Then
 .EntireRow.Offset(1, 0).Delete  'maže řádek pod nalezeným
 .EntireRow.Delete 'podmínka je v uvozovkách
End If

jiri255
Level 1.5
Level 1.5
Příspěvky: 105
Registrován: leden 13
Pohlaví: Muž
Stav:
Offline

Re: makro s podminkou na mazani radku  Vyřešeno

Příspěvekod jiri255 » 05 dub 2013 15:04

dekuji za pomoc funguje to bezvadne :-)


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek

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

Kdo je online

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