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.
Super, děkuji.
Nenapadlo mě, že stačí označit sloupce té Tabulky.
Pro můj účel naprosto dostačující.
Ještě jednou díky.
Radek
Trochu kostrbatě jsem to udělal přes kódy intervalů, ale...
Nevím přesně, kde a jak se budou zadávat hodnoty a v jakých jednotkách to bude.
Chce to otestovat.
Určitě to jde i jinak nějakým využitím fcí.
@eLCHa
díky za radu ;-)
Vždycky jsem to ve zdroji nějak složitě udělal, rozložil a pak spojil.
Ale to tohle je geniální rada.
Díky moc.
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.