Makro na smazani radku se znakem - nefunguje Vyřešeno

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

Moderátor: Mods_senior

Mirdad69
Level 2
Level 2
Příspěvky: 219
Registrován: červen 12
Pohlaví: Muž
Stav:
Offline

Re: Makro na smazani radku se znakem - nefunguje

Příspěvekod Mirdad69 » 22 led 2013 23:27

Proč je to v jednom sloupci?

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

Re: Makro na smazani radku se znakem - nefunguje

Příspěvekod jiri255 » 23 led 2013 09:23

ano vše je v jednom sloupci a na každém řádku je vše v jedné buňce je to dané exportem....
Našel jsem velmi dobré makro, které na základě podmínky v uvozovkách prohledá řádky
a pokud tam danou podmínku najde řádek odstraní... funguje dobře a vyřešil jsem s ním
ještě další problém co jsem měl.
Mám dotaz myslíte, že by bylo možné toto makro upravit pro účel odstraňování toho řádku
co obsahuje čísla ve formátu "##.###.###,##"?

Kód: Vybrat vše

Sub smazani_radku()

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 hledanými podmínkami
If Not IsError(.Value) Then

On Error Resume Next
Kde = WorksheetFunction.Search("##.###.###,##", .Value, 1)
If Err.Number = 0 Then
 .EntireRow.Delete 'podmínka 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

Mirdad69
Level 2
Level 2
Příspěvky: 219
Registrován: červen 12
Pohlaví: Muž
Stav:
Offline

Re: Makro na smazani radku se znakem - nefunguje

Příspěvekod Mirdad69 » 23 led 2013 10:01

Vždyť ty buňky mají formát obecný, ale to už jste psal.
Jestli je to import, proč se importuje jeden řádek do jediné buňky?
Proč se to neimportuje s oddělovači? Takhle mi to připadá dost nesmyslné, pro další zpracování.

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

Re: Makro na smazani radku se znakem - nefunguje

Příspěvekod jiri255 » 23 led 2013 12:53

ano to máte pravdu, ale s tím já bohužel nic nenadělám, proto si to musím takto složitě přeupravovat.... co se týká maker,
tak jsem začátečník a nedokážu si zatím ten kód sám opravit, tak aby mazal řádky pokud tam najde čísla
ve formátu "##.###.###,##" :-(

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

Re: Makro na smazani radku se znakem - nefunguje

Příspěvekod cmuch » 24 led 2013 18:39

V sloupci B se vytvoří "šílený" vzorec a dle výsledku to buď smaže řádek nebo ne.

Kód: Vybrat vše

Sub SmazRadky()
  For i = Cells(6000, 1).End(xlUp).Row To 1 Step -1
    x = Cells(i, 1).Address
 
    Cells(i, 2) = "=IF(ISERR(IF(MID(" & x & ",SEARCH("".""," & x & ",1)-2,1)="" "",,IF(MID(" & x & ",SEARCH("".""," & x & ",1)-3,1)="" "",IF(SEARCH("" ""," & x & ",SEARCH("".""," & x & ",1)-2)-(SEARCH("".""," & x & ",1)-2)=13,""smaz"")))),IF(SEARCH("" ""," & x & ",1)=14,""smaz"",""ne""),IF(MID(" & x & ",SEARCH("".""," & x & ",1)-2,1)="" "",""ne"",IF(MID(" & x & ",SEARCH("".""," & x & ",1)-3,1)="" "",IF(SEARCH("" ""," & x & ",SEARCH("".""," & x & ",1)-2)-(SEARCH("".""," & x & ",1)-2)=13,""smaz"",""ne""),""ne"")))"
   
    y = Cells(i, 2)

    If y = "smaz" Then
       Rows(i).Delete
    End If
  Next i
End Sub
Naposledy upravil(a) cmuch dne 26 led 2013 10:29, celkem upraveno 2 x.

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

Re: Makro na smazani radku se znakem - nefunguje

Příspěvekod jiri255 » 25 led 2013 13:56

tak jsem otestoval to makro, ale řádky to nevím proč nesmazalo.... první zkouška skončila errorem, ale to bylo proto, že jsem v
tom vzorovém excelu zapomněl nechat pár řádků, které obsahují jen text bez čísel = moje chyba... to jsem vyřešil na zkoušku
smazáním těch řádků, ale podruhé makro opět skončilo errorem a to přímo na řádku kde je číslo ve formátu "##.###.###,##"
ten jsem tedy také odstranil a opět makro spustil a tentokrát proběhlo, ale do sloupce B doplnilo k některým řádkům ne, nee, atd.,
ale ty v tom formátu to nesmazalo :-(

Mirdad69
Level 2
Level 2
Příspěvky: 219
Registrován: červen 12
Pohlaví: Muž
Stav:
Offline

Re: Makro na smazani radku se znakem - nefunguje

Příspěvekod Mirdad69 » 25 led 2013 16:15

Pořád nechápu, proč musí být ten vstup v jediném sloupci.
Co je vůbec zdroj těchto dat. To používáte CTRL+C z nějakého spešl SW a pak to do excelu vložíte pomocí CTRL+V?
Pokud ano, tak osobně bych to vložil do txt souboru a do excelu naimportoval s oddělovači. Import lze ošetřit i makrem.

Zkuste spustit Makro1.
Podmínkou je aby byly sloupce B a C prázdné, jinak zmizí, co tam bylo.
Přílohy
Mazani.xls
(38.5 KiB) Staženo 12 x

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

Re: Makro na smazani radku se znakem - nefunguje

Příspěvekod jiri255 » 25 led 2013 21:42

odzkoušel jsem a děkuji :clap: je to super a funguje to přesně, tak jak jsem potřeboval a ještě bych Vás chtěl požádat co bych přesně
v tom makru měl změnit pokud bych místo formátu "##.###.###,##" chtěl mazat řádky s formátem např: "#.###.###,##" nebo "###.###,##"?
K tomu CTRL+C a CTRL+V asi ano bohužel předpokládám, že to tak opravdu dělají.... já už to bohužel takhle dostanu a musím si to pracně
předělat :-(

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

Re: Makro na smazani radku se znakem - nefunguje

Příspěvekod cmuch » 26 led 2013 10:27

Jsem nakopíroval jiné makro :-(
Opravil jsem v předchozím příspěvku.

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

Re: Makro na smazani radku se znakem - nefunguje

Příspěvekod jiri255 » 26 led 2013 10:48

tak jsem to znovu odzkoušel a opět to stroskotalo na řádcích kde je text, který v tom vzorovém excelu není za což se opět omlouvám
a opět i na pár řádcích kde je text i s tím formátem čísla :-(
Asi tedy zůstanu u makra od Mirdad69, které jsem testoval a fungovalo velmi dobře a jen bych měl dotaz, jak v něm mohu měnit,
aby to mazalo řádky co mají i jiné formáty čísla než "##.###.###,##" třeba "#.###.###,##" atd.

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

Re: Makro na smazani radku se znakem - nefunguje

Příspěvekod cmuch » 26 led 2013 12:32

No já jsem počítal jen s čísly.

Jinak ten formát čísla je dán Len(strng) = 11 (počet znaků čísla s čárkou a bez teček)

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

Re: Makro na smazani radku se znakem - nefunguje

Příspěvekod jiri255 » 26 led 2013 13:05

díky nevěděl jsem právě co přesně určuje ten počet znaků.... akorát jsem si všiml zajímavé věci a nevím jestli to tam taky lze nějak v tom
makru upravit?
když nechám 11 smaže to správně všechny řádky co obsahují formát "##.###.###,##" ,ale může nastat i varianta a chtěl bych na ni být připraven,
že bude potřeba smazat i řádky co obsahují jen formát "#.###.###,##" a ostatní tam nechat, tak jsem zmněnil dle rady Len(strng) = 10 na 10
a smaže to všechny řádky co obsahují formát "#.###.###,##" ,ale zároveň i všechny řádky co obsahují formát větší
než tento tedy i řádky s formátem "##.###.###,##" a větším :-( a vše co má formát menší než "#.###.###,##" to tam správně ponechá.


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Kopírování řádků s funkcí když Příloha(y)
    od Martyn20 » 20 črc 2023 16:50 » v Kancelářské balíky
    3
    3000
    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
    2338
    od Kopusek Zobrazit poslední příspěvek
    14 pro 2023 08:55
  • excel text na konec více řádků najednou Příloha(y)
    od Myerina » 03 led 2024 11:51 » v Kancelářské balíky
    5
    1900
    od Zivan Zobrazit poslední příspěvek
    04 led 2024 09:42
  • Makro pro myš Rapture Python
    od mmmartin » 27 srp 2023 15:18 » v Problémy s hardwarem
    9
    1358
    od mmmartin Zobrazit poslední příspěvek
    29 srp 2023 16:47
  • Ethernet nefunguje
    od CowanCZ » 03 bře 2024 12:11 » v Internet a internetové prohlížeče
    10
    2439
    od xCloudGirl Zobrazit poslední příspěvek
    05 bře 2024 17:40

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

Kdo je online

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