Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  23 24 25 26 27 28 29 30 31   další »

Už jsem na pto "přišel" s přispěním nápovědy from lubo... 1
Abych mohl použít konkrétní pole do vzorce ZÍSKATKONTDATA musím mít u tohoto pole "Souhrn", jinak mi to nebude nic zobrazovat a zobrazí pouze #ODKAZ.
Jakmile jsem tam zadal "Souhrn Splatnost", což mi nevadí, tak mohu použít tento ve vzorci.

To lubo:
Dobře, ale stejně jsem pořád nepřišel na to, proč mi to nefunguje na pole "Splatnost" a funguje to až na pole "FaTyp"...

eLCHa napsal/a:

@Alfan
řekl bych, že jste změnil název pole - originální název je Zbývá_uhradit_v účt. a Vy jste si ho zkrátil na Zbývá. ZÍSKATKONDATA je velice citlivá funkce a tohle pravděpodobně nesežere.
Takhle ne:=ZÍSKATKONTDATA("Zbývá";$A$5;"Splatnost";"Do splatnosti";"FaTyp";"FV2015")Takhle ano:=ZÍSKATKONTDATA("Zbývá_uhradit_v účt.";$A$5;"Splatnost";"Do splatnosti";"FaTyp";"FV2015")
@Hav-Ran
Tato funkce je defaultně zapnutá
Když si uvědomíte, že ZÍSKATKONDATA je vlastně SUMIFS, tak ve spojení s "novým" objektem Tabulka (Excel-Table) není co řešit, protože už nemusíte uvažovat ani nad dynamickými oblastmi...


Jenže tohle
=ZÍSKATKONTDATA("Zbývá_uhradit_v účt.";$A$5;"Splatnost";"Do splatnosti")
Nefunguje... a proto je lepší použít to SUMIF

Mám Excel 2013 a v možnostech to mám zatržené stále.
Ale já potřebuji ten vzorec bez "FaTyp";"FV2015", protože můžu mít více období v té tabulce, tohle byl jen vzor.
V jiném souboru mám tohle
=ZÍSKATKONTDATA("k úhradě";$A$5;"SPLATNOST";"Do SPLATNOSTI")
a funguje to a přitom struktura tabulky je stejná...
Já jsem ten nový soubor tvořil de facto z toho původního, akorát jsem potřeboval do zdroje jiná data a tak jsem musel přejmenovat i pole v konti tabulce.
Tak fakt nevím.

Jj, děkuji, podle mě elegantní řešení, když použiju tabulku, jako zdroj dat pro konti 1

Akorát jsem koukal, že to nerozlišuje malá a velká písmena, "Do splatnosti" nebo "do splatnosti", je pro excel stejné.

A stejně by mě zajímalo, co jsem měl respektive mám špatně v tom vzorci, že nefunguje ten vzorec ZÍSKATKONDATA... 8 Ale už to není moc důležité, když to mohu obejít takto 3

6
Změnil jsem v konti tabulce rozsah a pole a pak jsem chtěl zeditovat vzorec ZÍSKATKONTDATA a opět mi to hází #ODKAZ...
Nevím, co dělám špatně.
Někdy mi to zadat nebo editovat jde a někdy to nemohu nastavit...
Můžete mi někdo poradit?
děkuji

1
Tak mi pošlete číslo do emailu.
Díky

Pěkné srovnání 1
Já ten kód používám a je to super.
A to vyladění se týká čeho...? Pomohlo by to i mně v rychlosti? Mám si něco v kódu opravit?
Děkuji

Než zapomenu...
Rád bych "podpořil" finančně (Donate) buď konkrétní osobu nebo web (weby)... Nic není zadarmo a rady, které se zde dostanou jsou mnohdy k nezaplacení.
Mohu poslat z účtu nebo PayPal.

Tak jsem testnul to makro od eLCHa i na menší počet řádků a funguje to. Měl jsem cca 104 000 a snížil jsem to na 100 000 a vše se načetlo a upravilo.

Přikládám vyexportovaná data v XML. Ona se ta data automaticky otevřou v *.xlsx a tak jsem to i uložil, protože v *.xml to nejde uložit neb to prý neobsahuje žádné mapování...
Já to XML používám jen proto, že je to výrazně rychlejší, ten export.

Mockrát děkuju 1
Upravil jsem to.

Jj, už to funguje, jsem lama 1

Pokud jsem to dobře pochopil, tak se to dá využít pro jakoukoliv tabulku, kterou pojmenuji DataTab nebo bych případně musel zeditovat její název v makru.
Ale nezáleží, jak bude veliká respektive, kolik bude mít sloupců.
Důležité je, aby připravená tabulka vždy využívala zdrojová data *.csv se stejným počtem sloupců, se kterým byla vytvořená tabulka.
Případně bych musel tabulku převést zpět na rozsah, dle potřeby doplnit sloupce, výpočtové a na data a pak zase zpět převést na tabulku.
A vždy musí být sloupce s daty a pak až následovat sloupce s výpočty.

Jinak mi celé načtení a přepočet trvá cca 20 sekund při cca 103 000 zdrojových řádcích.

A ještě jeden dotaz na konec. To makro lze takto připravit jen pro *.csv nebo to lze připravit i pro *.xml?

Tak jsem upravil na hlásí to chybu:
"Subscript out of range" na tomto řádku
With Worksheets("makra").ListObjects("DataTab").DataBodyRange
List, na kterém mám ta tlačítka se jmenuje "makra"

Tohle je celý kod:
Sub subImportCSV_RBR()

Dim sFileTemp As String

sFileTemp = Dir(ThisWorkbook.Path & "\DATA\*.csv")
'sFileTemp = Dir(ThisWorkbook.Path & "\*.csv") 'když je uloženo ve stejném adresáři



Dim sFile As String, dFileTime As Date

While Not sFileTemp = vbNullString

If FileDateTime(ThisWorkbook.Path & "\DATA\" & sFileTemp) > dFileTime Then

sFile = ThisWorkbook.Path & "\DATA\" & sFileTemp

'If FileDateTime(ThisWorkbook.Path & "\" & sFileTemp) > dFileTime Then 'když je uloženo ve stejném adresáři

'sFile = ThisWorkbook.Path & "\" & sFileTemp 'když je uloženo ve stejném adresáři


End If

sFileTemp = Dir

Wend



If Not sFile = vbNullString Then

Dim bScreen As Boolean

bScreen = Application.ScreenUpdating

Application.ScreenUpdating = False

Workbooks.OpenText Filename:=sFile, DataType:=xlDelimited, Semicolon:=True, Local:=True

With ActiveWorkbook

With .Worksheets(1).UsedRange

Dim vValues As Variant

vValues = .Offset(2, 0).Resize(.Rows.Count - 2, .Columns.Count).Value

'vValues = .Offset(1, 0).Resize(.Rows.Count - 1, .Columns.Count).Value 'začíná číst data ze zdroje od třetího řádku, první dva jsou záhlaví

End With '.Worksheets(1).UsedRange

.Close False

End With 'ActiveWorkbook


With Worksheets("makra").ListObjects("DataTab").DataBodyRange
'With ActiveSheet.ListObjects("DataTab").DataBodyRange 'muselo by se makro spouštět přímo z listu "DataTab"



If .Rows.Count > 1 Then

.Offset(1, 0).EntireRow.Delete

End If

.Cells(1).Resize(UBound(vValues, 1), UBound(vValues, 2)).Value = vValues



End With 'ActiveSheet.ListObjects("DataTab").DataBodyRange



Application.ScreenUpdating = bScreen


Else

MsgBox ("Neexistuje žiadny .csv súbor.")

End If

End Sub

To eLCHa
add 1) Spustil jsem byla chyba na tomto řádku:
With ActiveSheet.ListObjects("DataTab").DataBodyRange
Tak jsem spustil makro přímo z listu a proběhlo to.
Já mám totiž na listu "aktualizace" připravená tlačítka, ke kterým přiřazuji makra a tam spouštím to, co potřebuji. Šlo by to makro upravit, aby šlo spustit odkudkoliv?
Ale načetlo mi to o jeden řádek méně. Já totiž od rána mám smazána záhlaví a tak mi data začínají od řádku 1.
Nicméně při exportu z účetního SW začínají data o řádku 3, protože je tam v prvním řádku nějaká info, jen v jedné buňce a v druhém řádku jsou záhlaví sloupců.

add 2) Já ten exportovaný soubor XML mám vždy stejně otevřený hned po exportu v excelu (udělá se to automaticky) a pak ho musím někam uložit a při té příležitosti buď mohu umazat jen jeden (1.) řádek nebo první dva řádky. Ale podle makra bych umazal jen ten první.

add 3) Tady v tom řádku
sFileTemp = Dir(ThisWorkbook.Path & "\*.csv")
dá se upravit cesta k tomu *.CSV souboru?
Teď je to nastavené, že je *.CSV ve stejném adresáři.
Kdybych dal do stejného adresáře adresář "DATA" bylo by to takto?
sFileTemp = Dir(ThisWorkbook.Path & ".\DATA\*.csv")
nebo jen takto?
sFileTemp = Dir(ThisWorkbook.Path & "DATA\*.csv")

Děkuji

To elninoslov:
Děkuji za makro.
Zkoušel jsem ho aplikovat, ale nefunguje mi... 4
VYexportoval jsem data z účto SW ve formátu XML (kvůli rychlosti), smazal jsem první dva řádky (záhlaví sloupců) a uložil *.csv.
Oddělovač je středník ";"
Daty mám obsazené sloupce "A" až "AI" a je to celkem cca 103 000 řádků.
Když to naimportuji, tak se zapíší data vždy jen do buňky ve sloupci "A" a jsou v té buňce za sebou oddělené středníkem.
Editoval jsem i ty rozsahy v makru, ale bezúspěšně.
Ve finálním listu "dataTab" (v makru jsem přejmenoval, to nebyl problém) mám vzorce od sloupce "AJ" do sloupce "AR".
Nevím, zda nejsou problém ty ";".

Zkopíruji vzorce do všech řádků...
Špatně jsem to popsal, ty vzorce se opravdu zkopírují automaticky a já nemusím díky tabulce nic kopírovat. Omlouvám se za nepřesný popis 7


Strana:  1 ... « předchozí  23 24 25 26 27 28 29 30 31   další »

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

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.

On-line nástroje