Pěkná diskuze ohledně mého tvrzení že výsledek rozšířeného filtru v rámci filtrování nejde vyfiltrovat do jiného listu, což takhle podané sice pravda je, ale co mě nenapadlo (a díky ALovi za upozornění) je, že z jiného listu (aktivního) si můžu "vyžádat" výsledek rozšířeného filtru z dat na jiném listu. Což zní trochu zamotaně, ale opravdu to tak funguje.
Každopádně to podstatné není způsob ale výsledek dle zadání tohoto příspěvku a ten si myslím, že lze dosáhnout vícero způsoby a jeden z nich jsem poskytl.
M@
Mrknul jsem na to a narazil jsem na jiný problém a to že cílem pro kopírování rozšířeného filtru nemůže být jiný list. Tak jsem o to obešel rozšířeným filtrem přímo v seznamu a následným kopírováním.
Aby to fungovalo, tak tam vznikla nějaká pomocná data v horní části. Ještě jsem teda přidal mazání dat v cílových listech před kopírováním.
M@
Díky za tip, bohužel to opravdu asi půjde až od 2016, protože
ActiveWorkbook.Queries
mi to vůbec nebere :-/.
Ale je fajn vidět že to možná půjde :-).
M@
Ahoj, vím že možností jak načíst data z externího souboru je spousta, ale momentálně to zkouším pomocí Power Query a nějak nevím jak bych pomocí VBA mohl změnit cestu k souboru, když bych chtěl jiný.
Neměl by někdo nějaký tip?
V editoru pro Power Query vidím jakýsi M code:
let
Zdroj = Excel.Workbook(File.Contents("C:\Pokus.xlsm"), null, true),
SEZNAM_Table = Zdroj{[Item="SEZNAM",Kind="Table"]}[Data],
#"Změněný typ" = Table.TransformColumnTypes(SEZNAM_Table,{{"CC", Int64.Type}, {"AUTOR", type text}, {"PRODUKT", type text}, {"KOD", Int64.Type}, {"TEXT", type text}, {"BARCODE", type text}})
in
#"Změněný typ"
Otázkou je jak pomocí VBA změnit např. C:\Pokus.xlsm na D:\Pokus.xlsm
Když nepůjde vyřeším jinak, když půjde budu rád :-)
Díky za jakýkoliv tip
M@
Jedná se o e-mail Outlooku, ve kterém jsou použita hlasovací tlačítka, kdy každý z příjemců může hlasovat pro některou z více předdefinovaných možností.
Nakonec vyřešeno makrem přímo v outlooku bez excelu, respektive dostat tyto výsledky do excelu už by bylo to nejmenší, ale tato metoda zdá se být i přívětivější než excel :-).
Funkce níže vytvoří HTML text s výsledky, tento lze buď uložit jako html stránku, nebo v mém případě odeslat e-mailem ve formátu html
Public Function HLASOVANI() As String
Dim myNameSpace As Outlook.NameSpace
Dim myFolder As Outlook.Folder
Dim myItem As Object
Set myNameSpace = Application.GetNamespace("MAPI")
Set myFolder = myNameSpace.GetDefaultFolder(olFolderSentMail)
Dim itmo As Object
Dim cnt As Single
cnt = 0
For Each itmo In myFolder.Items
cnt = cnt + 1
If itmo.Subject = "Jedinecny Predmet E-Mailu" Then
Exit For
End If
Next
Dim dicVotes As Object
Dim varOption As Variant
Dim arrOptions As Variant
Dim arrVotes As Variant
Dim itmx As MailItem
Set itmx = itmo
arrOptions = Split(itmx.VotingOptions, ";")
Set dicVotes = CreateObject("Scripting.Dictionary")
For Each varOption In arrOptions
dicVotes.Add varOption, 0
Next
dicVotes.Add "Bez odpovědi", 0
For Each olkRcp In itmx.Recipients
If olkRcp.TrackingStatus = olTrackingReplied Then
If dicVotes.Exists(olkRcp.AutoResponse) Then
dicVotes.Item(olkRcp.AutoResponse) = dicVotes.Item(olkRcp.AutoResponse) + 1
Else
dicVotes.Add olkRcp.AutoResponse, 1
End If
Else
dicVotes.Item("Bez odpovědi") = dicVotes.Item("Bez odpovědi") + 1
End If
Next
arrOptions = dicVotes.Keys
arrVotes = dicVotes.Items
Dim odpoved As String
odpoved = "<html><table border='0'>"
For intCnt = LBound(arrOptions) To UBound(arrOptions)
odpoved = odpoved & "<tr><td width='200'>" & arrOptions(intCnt) & "</td><td align='right'>" & arrVotes(intCnt) & "</td></tr>"
Next
odpoved = odpoved & "</table></html>"
HLASOVANI = odpoved
End Function
Ta podstatná část kódu čerpána z ...
https://techniclee.wordpress.com/2012/10/01/tallying-votes-in-outlook/
Díky
M@
Dobrý den,
zkusím se zeptat jestli už tady někdo nezkoušel stahovat výsledky hlasování konkrétního meilu do excelu, jinak než ctrl+c a ctrl+v.
Respektive jak se dostat k oněm informacím pomocí vba ať už přímo v outlooku, nebo skrze excel a knihovny outlooku.
Hledal jsem informace o VotingResponse, ale to vypadá, že slouží jen k odpovědi, ale kde jsou informace o tom jak kdo hlasoval, to nějak ne a ne najít :-/.
Díky
M@
Když jsem ještě měl snahu to řešit, tak ne
http://answers.microsoft.com/cs-cz/msoffice/forum/msoffice_excel-mso_winother/mscomctlocx-a-treeview/62fdb567-db9e-4030-80da-83a76dd3e56c
Co pomohlo pro můj pc bylo v okně Add reference, kde se hledá soubor MSCOMCTL.OCX, ho smazat, při dalším spuštění se mi tam opět objevil už ve správné verzi, nicméně tento postup to zprovoznil na mém počítači, jakmile jsem xlsm soubor tímto počítačem uložil, tak to zas nešlo na některých jiných počítačích.
Nakonec jsem to vzdal a udělal si ovládací formulář s treeview ve Visual Studiu, kterým pak ovládám daný excel. Takže ve finále mám exe aplikaci a xlsm soubor spouštěný a ovládaný exe aplikací. To alespoň funguje spolehlivě a všude.
M@
jen takový pokus :-)
Něco jako ... (v případě nejbližšího nadcházejícího)
Public Sub VLOZITRD()
Dim tadress As String
Dim radek As Single
tadress = NAJDI(Date + 1, Range("G:G"))
If tadress <> "" Then
radek = Range(tadress).Row + 1
Else
radek = ActiveSheet.UsedRange.Rows.Count + 1
End If
ActiveSheet.Rows(radek).EntireRow.Insert
Cells(radek, 1) = "Nově vložený řádek"
End Sub
Public Function NAJDI(dt As Date, sloupec As Range)
On Error Resume Next
Dim tadress As String
tadress = sloupec.Find(dt).Address
If tadress <> "" Then NAJDI = tadress
End Function
M@
Něco jsem zkusil, viz. příloha.
M@
Něco jsem kdysi zkoušel, ale nikdy jsem to nerealizoval :-), ale třeba trochu pomůže. Důležité je nastavit počáteční datum a čas plánu (buňka V3), takt a využití (S2-T2).
Průběžně pak plnit vyrobené ks (v tomto případě ručně), ale pomocí maker byla idea napojení na counter linky přes OPC.
Tak třeba k něčemu bude, uvidíte.
M@
Asi bude problém že to bere jako text a pak větší menší nefunguje, pak lze ještě zakomponovat funkci HODNOTA, nebo z mého pohledu jednodušší vynásobit jedničkou :-)
=KDYŽ(ČÁST(A1;3;1)*1>1;"Žena";"Muž")
=KDYŽ(HODNOTA(ČÁST(A1;3;1))>1;"Žena";"Muž")
M@
Jen napovím, zkuste kombinaci funkcí KDYŽ a ČÁST, případně ZLEVA.
Mohl bych to napsat celý, ale v rámci tréninku je lepší, když si na to člověk přijde sám :-).
http://wall.cz/excel-navod/parser-textu-funkce-najit-zleva-delka-a-cast
M@
Jen k tomu druhému, proč ne jen
MsgBox Application.Caller
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.