Příspěvky uživatele


< návrat zpět

Strana:  1 2 3 4 5 6 7 8 9   další » ... 16

Zdravím, potřeboval bych pomoci s makrem, které vloží kontingeční tabulku do textu emailu.

Private Sub OdesliEmailReportu()
' odeslání vytvořeného reportu (KT1 - KT4)

Dim OutApp As Object, OutMail As Object
Dim strAdresat As String, strSubject As String, strBody As String

strAdresat = "adresaprijemce@neco.cz"
strSubject = "Report dne " & Format(Date, "d.m.yyyy")
strBody = "Zasílám vybrané tabulky:"

On Error Resume Next
Set OutApp = CreateObject("Outlook.Application")
On Error GoTo 0

Set OutMail = OutApp.CreateItem(0)

With OutMail
.to = strAdresat
.Subject = strSubject
.body = strBody

.Display
End With

Set OutMail = Nothing
Set OutApp = Nothing

End Sub

KT je uložena na samostatném listu jako KT1
Díky za pomoc

Jediné co mne narychlo napadá je jednorázově spustit:
Sub Email()

Dim hodnota As String
Dim i As Long

With List1
For i = 5 To .Cells(Rows.Count, 1).End(xlUp).Row
hodnota = .Cells(i, 2)
If hodnota <> Empty Then
.Hyperlinks.Add .Cells(i, 2), "mailto:" & hodnota
End If
Next i
End With

End Sub

PavDD napsal/a:

If konecForm Then 'MsgBox "zmačknul jsi storno"
Exit For
GoTo konec
End If

If konecForm Then
Exit For
GoTo konec
End If

nechal jsem záměrně dvě možnosti jak vyskočit z cyklu
Exit for vyskočí za konec cyklu (Next i)
GoTo konec skočí na návěští konec, tedy přeskočí vše mezi Next i a návěští.
Stačí jen zakomentovat, nebo vynechat, nechtěné ukončení, v tomto případě Exit For

Jinak vynucení deklarace proměnných velice doporučuji včetně deklarace jejich datových typů. https://wall.cz/excel-navod/deklarace-promennych-a-prehled-datovych-typu-vba

Ne to nestačí a navíc by to skončilo chybou.

...Nyní , když stisknu Storno, stejně to čeká ...na pozadí až to odpočítá temch 5 sec....
Protože není stisk tlačítka ošetřen tak, aby přerušil cyklus odpočtu. Zkuste si kód krokovat a uvidíte i příčinu toho, proč se cyklus nepřeruší.

...Možná by pomohlo obecně vysvětlit, jak funguje v obecném formuláři tlačítko Storno, a tl Přerušit. Přerušit taky ukonší chod makra?...
Obecně tlačítka fungují tak, jak je programátor naprogramuje.

Co myslíte tlačítkem Storno a co tlačítkem Přerušit?

...A ještě jeden dotaz, lze schovat křížek v pravém rohu formuláře?...
Jednodušší je zakázat stisk ikony zavření formuláře pomocí metody Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then
Cancel = 1
End If
End Sub
CloseMode určuje příčinu vyvolání - 0=> zavření form z nabídky (křížek)
Cancel nastavením na jinou hodnotu než 0 zastaví událost QueryClose.

Dík za upozornění.
Chyba při použití přepisu do EN verze (používám záznam makra k získání EN vzorce).
EN: =IF(F10<DATE(YEAR(TODAY()),7,20),"20.07."&YEAR(TODAY()),"20.07."&YEAR(TODAY())+1)
Já to pochopil tak, že když je aktuální datum menší než požadovaný, tak je výsledek 20.7. aktuálního roku a po dosažení datumu 20.7. se zvýší o 1 rok.
Tedy dle Vašeho vzorce:
CZ: =DATUM(ROK(F10)+(F10>DATUM(ROK(F10);7;20));7;20)
EN: =DATE(YEAR(F10)+(F10>DATE(YEAR(F10);7;20));7;20)


ale je to "jen" o znaménku +/- ve vzorci.

Použít vyhodnocení stavu buňky F10 např.:
CZ: =KDYŽ(F10<DATUM(ROK(DNES());7;20);"20.07."&ROK(DNES());"20.07."&ROK(DNES())+1)
EN: =IF(F10<DATE(YEAR(TODAY()),7,20),""20.07.""&YEAR(TODAY()),""20.07.""&YEAR(TODAY())+1)

Pomocný sloupec O bude obsahovat součet všech hodnot požadovaných v buňce F6, pro O3=L3+M3+N3
buňka F6 pak bude mít vzorecCZ: =SVYHLEDAT(E6;K:O;5;0)
EN: =VLOOKUP(E6;K:O;5;0)

Více https://support.microsoft.com/cs-cz/office/svyhledat-funkce-0bbc8083-26fe-4963-8ab8-93a18ad188a1

Pokud jsem to pochopil správně, pak např.:
buňka E6CZ: =DATUM(ROK(DNES());12;31)
EN: =DATE(YEAR(TODAY()),12,31)

buňka F6CZ: =SVYHLEDAT(E6;K:L;2;0)
EN: =VLOOKUP(E6;K:L;2;0)

Použijte
Sub vlastnizahlavi()

Dim poznamka As String

poznamka = InputBox("Zadej vlastní záhlaví :", "OKNO", "")

With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = "Text 123456 + : " & poznamka
.RightHeader = ""
End With

End Sub

"Scraper" napsal/a:

...Existovala by prosím , možnost jak list PLAN , kde se tvoří úkony trochu ulehčit ?...

Lze např. generovat pouze vybraný týden, bez nutnosti mít vše dopředu rozplánováno, tzn. vygeneroval by se pouze daný týden.
Nevím pozadí celé funkčnosti a potřeb přehledu, ale určitě by se dalo víc věcí zautomatizovat.

Narychlo - modul PlanCinnosti

Problém je, že v kartách listů máte odkazy do listu plánu. To mi moc smyslu nedává, protože listy strojů by měly obsahovat data a ne odkazy na jiné listy.

Chtělo by to pak sjednotit i list číselník podle skutečných Karet strojů a z něj pak načítat do listboxu (taky upraveno načítání při inicializaci formuláře).

To nejste o moc starší než já (4 roky není nic).

Pokud jde tedy jen o vytvoření plánu na rok, pak bych místo kolikrát za jaké období zvolil variantu kolik týdnů v roce provést, tedy místo 1x týdně => 52, 1xza 14 dní => 26, ...

To lze pak jednoduše odpočítat od prvního týdne a plánovat na celý rok. Následně bych vygeneroval na začátku roku "Plán" a pak už jen zobrazit daný týden.

Pokud není nutné mít pro každý stroj 6 řádků (zbytečných), lze vše zapisovat do jedné buňky ke každému stroji.

např. https://learn.microsoft.com/en-us/office/vba/language/reference/user-interface-help/listbox-control-list-property-example

Asi bude něco špatně?
Z popisu těžko soudit kde nastala chyba, v makru nebo mezi klávesnicí a židlí?

Nějaký výtvor kde se to projevuje?


Strana:  1 2 3 4 5 6 7 8 9   další » ... 16

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

kontrola buniek

loksik.lubos • 31.5. 20:33

KT jako text do emailu

elninoslov • 31.5. 18:35

vlastní pás karet

elninoslov • 31.5. 15:10

vlastní pás karet

stejzi • 31.5. 13:09

KT jako text do emailu

Začátečník • 31.5. 11:06

odkaz chyba

elninoslov • 30.5. 21:07

odkaz chyba

jano1 • 30.5. 20:31