Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  6 7 8 9 10 11 12 13 14   další » ... 53

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 8
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


Strana:  1 ... « předchozí  6 7 8 9 10 11 12 13 14   další » ... 53

Uživatelské menu

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

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

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

Aktivní diskuse

Čas od do

jarek1111 • 18.4. 13:46

Čas od do

lubo • 18.4. 11:13

Čas od do

jarek1111 • 18.4. 8:32

Čas od do

jarek1111 • 18.4. 8:31

Makro smyčka

MilanKop • 18.4. 7:18

Makro smyčka

elninoslov • 18.4. 0:18

Makro smyčka

MilanKop • 17.4. 21:33