Prosím, kde o tomto někde dočtu, abych si to vyzkoušel?
"V podmínkách powerpivota (excelu) bude možná nezbytné deklarovat jednu z relací jakou obousměrnou (která to bude, závisí na KT). To při výpočtu nastaví funkce CROSSFILTER : CALCULATE([měřítko]; CROSSFILTER(...))."
Pro zpřesnění jsem udělal "výtah", zmenšil jsem zdrojové tabulky pro Power Query mezi, kterými bych pak chtěl udělat propojení přes Power Pivot do KT.
Chtěl bych na to "koukat" přes "Kód obchodního případu", který je v "obchodni pripady.xlsx"
V "2022 akce all.xlsx" mám všechny akce a každá akce má svoji "Nadřízená akce" (obchodni pripady.xlsx). Tady je vidět, že několik akcí může mít jednu "Nadřízenou akci".
A v "2022 denik.xlsx" jsou údaje finanční.
Ale právě v deníku jsou záznamy, které mají v "Kód akce" buď "Kód akce" ze seznamu akcí nebo kód "Kód obchodního případu" (což je "Nadřízená akce" z akcí) z obchodních případů.
Každopádně "nejvýš" je vždy "Kód obchodního případu" z obchodních případů a k tomu bych potřeboval "namapovat" hodnoty z Denik s využitím Akce (zde je vidět, které akce mají, jakou Nadřízenou akci).
Děkuji.
Radek
Super, mám to opravené. Díky za pomoc.
Jsem si také opravil.
With ThisWorkbook.ActiveSheet
Ale přesto mám dotazy.
Dalo by se to nastavit tak, abych nemusel "editovat" toho ODESILATEL_MAIL?
A co mám změnit, aby se připravený email zobrazil, ten jeho dialog, aby to nezůstalo "skryté", neozbrazené?
A pak se chci zeptat.
teď to ukládám do adresáře __pdfhs
Kdybych si předpřipravil adresáře
__pdfhs0002
__pdfhs0003
a další podle čísla HS (hospodářské středisko).
Dalo by se nastavit, aby ta cesta k adresáři:
sDir = ThisWorkbook.Path & "\__pdfhs\"
byla automaticky doplněna ještě od hodnotu v buňce B4?
takže by se spojilo to:
__pdfhs a hodnota v buňce B4.
Ona ta hodnota v buňce B4 se používá při vytváření názvu souboru a tak by se mi příslušný vytvořený soubor uložil do adresáře toho HS.
Ještě jednou děkuji.
RAdek
Já ty tabulky - Denik, Akce , Případy
mám jako zdroje v PQ a pak jsem to chtěl v Power Pivot spojit.
Protože já těch zdrojů mám víc a používám je s daty z Denik.
Asi by pomohla pomocná tabulka, jak píšete, ale co jste měl přesně na mysli?
Dobrý den,
chtěl bych požádat o pomoc s řešením spojením respektive výstupu v KT přes power query.
Rád bych spojil výnosy a náklady na každý Obchodní případ, ale s ohledem na to, že ve 2 zdrojových tabulkách se mi "spojovací" kritéria vyskytují vícekrát, nejsou tam jedinečné, tak mi to nejde.
Možná to ani řešení nemá, nevím.
Popsal jsem to v příloze.
Děkuji.
Radek
Změnil jsem ten účet na můj.
Napsal jsem moji email adresu:
něco@domena.cz
Po spuštění mi to dialogové okno napíše, že *.pdf OK, ale že nenalezen outlook účet.
Adresář existuje.
v buňce B4 je textová hodnota, např. "0002". Je to kód hospodářského střediska a proto je to použité, ta buňka i v názvu ukládaného souboru.
Omlouvám se, ale co je to vyremujte?
udělal jsem toto:
'On Error GoTo KONEC
Ono se to uloží, ale neotevře se okno Outlooku.
Zkusil jsem vložit do toho kódu na *.pdf ještě odesílání emailem, ale hlásí mi to chyby.
Ono to nahlásí kritickou chybu a já pak nevím, kde je chyba?
Co tam má špatně? Pořadí?
Sub doPDF_bezCOPY_proHS_email()
Dim sDir As String
Dim MyDate, MyTime, MyStr, MyStr1
Dim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
MyTime = Time
MyDate = Date
'MyStr1 = Format(MyTime, "hh-mm-ss")
MyStr = Format(MyDate, "yyyy-mm-dd") 'Rozhoduje pořadí, bere se ta poslední varianta, řádek
sDir = ThisWorkbook.Path & "\__pdfhs\"
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
On Error GoTo KONEC
'With List2 'sem napíšeš list, který se má zpracovat
With ActiveSheet 'toto pracuje s aktuálním Listem
.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=sDir & IIf(Right(sDir, 1) <> "\", "\", "") & MyStr & " - " & .Range("B4") & " - " & .Name & ".pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End With
KONEC:
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
If Err.Number = 0 Then
MsgBox "Uloženo", vbInformation
Else
MsgBox "Nastala chyba !", vbCritical
End If
With OutMail
.to = ""
.CC = ""
.BCC = ""
.Subject = "Pohledávky po splatnosti HS " & .Range("B4")
.Body = "Posíláme pohledávky po splatnosti pro HS " & .Range("B4")
.Attachments.Add (sDir & IIf(Right(sDir, 1) <> "\", "\", "") & MyStr & " - " & .Range("B4") & " - " & .Name & ".pdf")
'.Send 'or use .Display
.Display
'.Send
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
Děkuji.
Já myslel, že lze nějak ve vzorcích použít název toto Sliceru?
Tato řešení jsou řešeními, ale přišlo mi "elegantnější", kdyby excel uměl právě přes ten název (de facto něco jako oblast) využít ho ve vzorci.
Ale i tak díky.
Radek
Super, funguje.
Že mě to nenapadlo
A mohu se zeptat ohledně Průřezu (Slicer)?
Mám konkrétní průřez a ten má své jméno, kde v nastavení Průřezu vidím i název pro vzorec.
Například průřez má název pro vzorec:
Průřez_HS
Jak napíšu do buňky vzorec, aby se mi tam objevila vybraná hodnota z toho konkrétního průřezu?
Děkuji.
Radek
Dobrý den,
mám ještě jednu prosbu.
Potřeboval bych upravit to makro v této část:
With List2 'sem napíšeš list, který se má zpracovat
.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=sDir & IIf(Right(sDir, 1) <> "\", "\", "") & .Name & " - " & .Range("C2") & ".pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
Tak, abych nemusel "definovat" list, v tomto případě List2, ale aby se automaticky vzal aktuální list, ze kterého spouštím to makro a zároveň by se název toho aktuálního listu použil při ukládání na pozici současného ".Name"
Děkuji.
Radek
Dobrá, poslán příspěvek na účet fóra.
Sqělý
To bez COPY je super.
Kam mohu poslat nějaký příspěvek?
Ještě jednou děkuji.
Děkuji.
Ano adresář "pdf" existuje.
Teď mám to makro takto:
Sub doPDF()
Dim wList As Worksheet
Dim sDir As String
Dim i As Integer
Set wList = List2 'sem napíšeš list, který se má zpracovat
sDir = ThisWorkbook.Path & "\pdf\"
wList.Copy
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
sDir & IIf(Right(sDir, 1) <> "\", "\", "") & wList.Name & " - " & c2 & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties _
:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
ActiveWorkbook.Close False
MsgBox ("Uloženo")
End Sub
Ale:
Ukládá se to 1 minutu.
Na to listu je totiž KT a dva Průřezy.
Navíc ta KT má data přes Power Query.
A v názvu uloženého *.pdf souboru se mi neobjeví hodnota z buňky C2.
V buňce C2 má vzorec =B12 a v buňce B12 je textová hodnota z Filtru KT,
konkrétně je to název střediska.
Co je špatně?
Děkuji.
Radek
Dobrý den, nemáte někdo makro na uložení konkrétního listu do pdf?
Tohle se mi nedaří rozchodit
Díky.
RAdek
Sub doPDF()
Dim wList As Worksheet
Dim sDir As String
Dim i As Integer
Set wList = List2 'sem napíšeš list, který se má zpracovat
sDir = ThisWorkbook.Path & "\pdf\"
wList.Copy
ActiveWorkbook.SaveAs sDir & IIf(Right(sDir, 1) <> "\", "\", "") & wList.Name & " - " & c2 & ".pdf", FileFormat:=xlTypePDF, CreateBackup:=False, Local:=True
MsgBox ("Uloženo")
Application.StatusBar = False
End Sub
@hans66
elninoslov najde určitě elegantnější řešení.
Mně vždycky tady pánové a paní poradili dobře
Já jsem prostý uživatel.
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.