Makro na smazani radku se znakem - nefunguje Vyřešeno
Re: Makro na smazani radku se znakem - nefunguje
Proč je to v jednom sloupci?
Re: Makro na smazani radku se znakem - nefunguje
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 "##.###.###,##"?
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
Re: Makro na smazani radku se znakem - nefunguje
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í.
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í.
Re: Makro na smazani radku se znakem - nefunguje
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 "##.###.###,##"
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 "##.###.###,##"
-
- Level 4.5
- Příspěvky: 1544
- Registrován: březen 11
- Bydliště: Drsná Vysočina :D
- Pohlaví:
- Stav:
Offline
Re: Makro na smazani radku se znakem - nefunguje
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.
Re: Makro na smazani radku se znakem - nefunguje
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
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
Re: Makro na smazani radku se znakem - nefunguje
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.
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
Re: Makro na smazani radku se znakem - nefunguje
odzkoušel jsem a děkuji 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
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
-
- Level 4.5
- Příspěvky: 1544
- Registrován: březen 11
- Bydliště: Drsná Vysočina :D
- Pohlaví:
- Stav:
Offline
Re: Makro na smazani radku se znakem - nefunguje
Jsem nakopíroval jiné makro
Opravil jsem v předchozím příspěvku.
Opravil jsem v předchozím příspěvku.
Re: Makro na smazani radku se znakem - nefunguje
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.
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.
-
- Level 4.5
- Příspěvky: 1544
- Registrován: březen 11
- Bydliště: Drsná Vysočina :D
- Pohlaví:
- Stav:
Offline
Re: Makro na smazani radku se znakem - nefunguje
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)
Jinak ten formát čísla je dán Len(strng) = 11 (počet znaků čísla s čárkou a bez teček)
Re: Makro na smazani radku se znakem - nefunguje
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á.
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
-
- 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
-
-
- 9
- 1358
-
od mmmartin
Zobrazit poslední příspěvek
29 srp 2023 16:47
-
- 10
- 2439
-
od xCloudGirl
Zobrazit poslední příspěvek
05 bře 2024 17:40
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 2 hosti