Jak to myslíš manuálně?
Já to mám přes Tabulku, která je na jiném listu a ta je pak v Názvech pojmenovaná.
Takže, jak je v souboru vidět v tom combu mám "=_mj"
Zkoušel jsem to dát na jiný list a jen de facto rozsah buněk, ale stejně to nekontrolovalo tu 100% shodu.
Já pak tento list načítám do jiného souboru a mám v makru, že je ten sešit ve formátu *.xlsx
To bych musel přepsat makro pro načítání, import...., kdyby se to řešilo VBA.
Dobrý den,
mohl byste mi někdo, prosím, poradit s následujícím problémem?
Na listu mám v buňkách pro ověření dat "Seznam", kde data jsou čerpána z pojmenované oblasti, která je ve formátu Tabulky.
Jenže, já tam mám třeba hodnotu "ČLD" a když do buňky napíši "čld", tak mi to povolí hodnotu zapsat.
Potřeboval bych, aby to to kontrolovalo 100% shodu, tedy i co se týče velikosti písmen.
Pokud by to šlo ošetřit jen pomocí vzorce, bylo by to ideální.
Děkuji.
Tak to řešení přes PQ je pro mě novinka a stíhám pouze do 2.kroku, kde se nahradí případné prázdné buňky "null".
Ale pak už nevím a ani popravdě netuším, jaké funkce v PQ použít tak, aby se to provedlo, ty další kroky.
Děkuji za ten obrázek. Jsem lama.
Teď se kouknu na to PQ řešení.
elninoslov napsal/a:
Ja by som to videl na SpecialCells
Sub DeleteRows()
Dim rngErr As Range, ErrCount As Long
With wsFaktury.ListObjects("DataFaktury")
On Error Resume Next
Set rngErr = .ListColumns(11).Range.SpecialCells(xlCellTypeFormulas, xlErrors) 'všechny buňky s chybou ve 11. sloupci Tabulky
On Error GoTo 0
If rngErr Is Nothing Then MsgBox "Žádné chyby", vbInformation: Exit Sub 'žádné chyby
ErrCount = rngErr.Cells.Count
' If ErrCount = .DataBodyRange.Rows.Count Then .ListRows.Add 'asi není potřeba, ale pokud jsou všechny buňky s chybou, přidej 1 řádek, pro zachování vzorců a formátů
Intersect(.DataBodyRange, rngErr.EntireRow).Delete Shift:=xlUp 'odstranění řádků
MsgBox "VYMAZÁNO " & ErrCount & " ŘÁDKŮ", vbExclamation 'informativní výpis počtu chyb
End With
End SubPříloha: 54371_mazanie-riadkov-tabulky-s-chybou.zip (17kB, staženo 1x)
@elninoslov
Přeci jenom se chci zeptat, jak by bylo složité toto řešit přes PQ, jak píšete?
Jak jste mi popsal tu Transpozici přes PQ, tak to bylo pro mne pochopitelné.
Děkuji.
Radek
Díky
Tak to je "bomba".
Díky moc
Měl bych jeden dotaz.
Tady v tom kroku:
9. Karta „Domů“ --> „Načíst a zavřít“
9.1. Vytvoří list s dotazem
9.2. Nebo podmenu „Zavřít a načíst do…“ --> umožní nevytvářet nový list, ale možnost například vložit do určité buňky
Když použiju třeba bod 9.1., jak mohu jednoduše se pak vrátit a použít bod 9.2.?
Nebo to musím zpět do PQ a tam udělat duplikovat a použít jiný postup?
Děkuji oběma.
K tomu PQ
Vůbec netuším, jak jste dosáhl tohoto...
let
Zdroj = Excel.CurrentWorkbook(){[Name="DataTab"]}[Content],
#"Zrušenie kontingenčnosti ostatných stĺpcov" = Table.UnpivotOtherColumns(Zdroj, {"Hospodářské středisko", "Registrační značka"}, "Měsíc", "Částka"),
#"Stĺpce so zmeneným poradím" = Table.ReorderColumns(#"Zrušenie kontingenčnosti ostatných stĺpcov",{"Měsíc", "Hospodářské středisko", "Registrační značka", "Částka"}),
#"Zmenený typ" = Table.TransformColumnTypes(#"Stĺpce so zmeneným poradím",{{"Měsíc", type text}, {"Hospodářské středisko", type text}, {"Registrační značka", type text}, {"Částka", type number}})
in
#"Zmenený typ"
To jste nejprve vložil prázdní dotaz a pak jste nadefinoval "manuálně" (napsal) Zdroj?
A jak jste pak doplnil ty další kroky dotazu (Použitý postup)?
To vůbec netuším, ale přijde mi to, jako zajímavá věc.
Já zatím jako laik používal PQ na slučování a úpravu dat ze zdrojů excel a pak přes Power Pivot.
Ale tohle od vás je fakt zajímavé.
Děkuji
To PQ asi ne, protože ne všichni mají Office, kde PQ běží.
Dobrý den,
chtěl bych požádat o pomoc s makrem.
Na listu "data" mám v jednotlivých řádcích například konkrétní vozidla. Tento list je ve formátu tabulky
V prvních dvou sloupcích je označení vozidel a jejich umístění.
Ve sloupcích C-N, tedy 3-14 mám hodnoty pro konkrétní měsíce.
Potřeboval bych, aby se vytvořil nový list nebo já ho vytvořím prázdný a do něj se přenesla data z listu "data".
Vytvořil jsem list "vystup" kam jsem ta data manuálně nakopíroval.
Na tomto listu "vystup" je mi jedno, v jakém pořadí se ta data budou řadit pod sebe, s tím si pak už poradím.
Ale potřebuji je takto transponovat, abych to pak mohl jednoduše například třídit po měsících.
V tom makru bych rád, aby se pracovalo s pořadovými čísly sloupců z listu "data" a totéž s pořadovými čísly sloupců na tom novém listu.
Jde mi jen o to, aby se to lépe případně editovalo.
Děkuji.
Radek
Super, to je ono.
Jen mě ještě napadlo, jestli by se dal použít třeba nějaký pomocný list, třeba s názvem "hodnoty", kde by se pod sebe v prvním sloupci zadaly hodnoty (makro by prohledalo první sloupec), které by se využili v této části makra.
Case "něco", 900: bDel = True 'nebo mazat při těchto hodnotách, hodnoty lze lehce přidat
Jen proto, aby někdo nemusel editovat makro.
Ale jinak je pro mě i toto dostačující.
Ještě jednou děkuji.
Radek
Děkuji
Já ještě budu testovat to moje původní s tím, že buď to bude na Error nebo na konkrétní text nebo na konkrétní hodnotu:
If IsError(tbl.DataBodyRange.Cells(i, 11).Value) Then tbl.DataBodyRange.Rows(i).Delete
If tbl.DataBodyRange.Cells(i, 11).Value = "něco" Then tbl.DataBodyRange.Rows(i).Delete
If tbl.DataBodyRange.Cells(i, 11).Value = 900 Then tbl.DataBodyRange.Rows(i).Delete
Vyřešeno:
Sub DeleteRows()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("faktury")
Dim tbl As ListObject
Set tbl = ws.ListObjects("DataFaktury")
Dim lastRow As Long
lastRow = tbl.Range.Rows.Count
Dim i As Long
For i = lastRow To 1 Step -1
If IsError(tbl.DataBodyRange.Cells(i, 11).Value) Then
tbl.DataBodyRange.Rows(i).Delete
End If
Next i
MsgBox ("ŘÁDKY VYMAZÁNY")
End Sub
Dobrý den,
chci se zeptat, zda byste mi pomohli s makrem, které by vymazalo na listu, který je ve formátu tabulky příslušný řádek, když je v konkrétním sloupci nějaký hodnota?
Na listu "faktury" mám tabulku "DataFaktury".
A potřeboval bych, aby makro konkrétně ve sloupci číslo 11 prohledávalo jednotlivé buňky a pokud by byla v buňce hodnota "#NENÍ_K_DISPOZICI", tak by se řádek s touto hodnotou vymazal.
A takto by to zkontrolovalo a případně vymazalo všechny buňky (řádky) v tom sloupci číslo 11.
Děkuji.
Radek
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.