Stránka 1 z 1

Mazaní řadku podle podmínky

Napsal: 30 zář 2009 01:54
od Danyy
Zdravim všechny

chtěl bych se zeptat jestli jde mazat řadky v excelu podle určité podmínky.

např. jeli buňka B5-B7 prázdna vymaže celý řádek.

díky za odpověd.

Re: Mazaní řadku podle podmínky

Napsal: 30 zář 2009 12:38
od navstevnik
Vloz proceduru v editoru VBA do standardniho modulu:

Kód: Vybrat vše

Option Explicit

Sub OdstranRadek()
  Dim MyArea As Range, Podminka As Variant
  Dim Ofs As Long, Clmn As Range

  Set MyArea = ActiveSheet.UsedRange
  If IsEmpty(MyArea) Then End
  Application.ScreenUpdating = False
  '*********************
  ' odstrani radek, kde bunka v bloku bunek splnuje podminku
  '*********************
  On Error Resume Next
  Set Clmn = Application.InputBox("Zadej blok s prazdnymi bunkami, pr: D5:D10", Type:=8)
  If Err.Number <> 0 Then Exit Sub
  If Clmn.Columns.Count > 1 Then MsgBox "Lze zadat pouze 1 sloupec": Exit Sub
  Podminka = Application.InputBox("Zadej podminku, retezec, cislo" & vbCr _
  & "pro prazdnou bunku OK bez vlozeni hodnoty", Type:=1 + 2)
  If Podminka = False Then Exit Sub
  On Error GoTo 0
  Ofs = Clmn.Rows.Count - 1
  Set Clmn = Clmn.Resize(1, 1)
  Do ' odstraneni radku
    If Clmn.Offset(Ofs, 0).Value = Podminka Then Clmn.Offset(Ofs, 0).EntireRow.Delete
    Ofs = Ofs - 1
  Loop While Ofs > -1
  Range("a1").Select
  Application.ScreenUpdating = True
End Sub

Procedura odstrani na aktivnim listu radky, ve kterych je v zadanem jednosloupcovem bloku bunka obsahujici podminku (prazdna bunka, retezec, cislo), volat z nabidky nebo priradit klavesovou zkratku.

Re: Mazaní řadku podle podmínky  Vyřešeno

Napsal: 30 zář 2009 23:21
od Danyy
To je geniální

díky