Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  13 14 15 16 17 18 19 20 21   další » ... 300

Sorry, nebol som tu pár dní. Urobil som Vám tam podrobný popis, ako to funguje, odôvodnil prečo sú tam kontroly, pridal som odchyt chýb čo ma napadli, že by mohli nastať, a snáď sprehľadnil kód.

Omrknite.

PS: Neviem načo sú tam tie ďalšie definované názvy, ale Body_5001 na konci chýbajú 2 riadky (lebo ostatné Body to tam majú).

=IF(Vzor!A4="";"";HYPERLINK("mailto:"&Vzor!C4;Vzor!C4))
=KDYŽ(Vzor!A4="";"";HYPERTEXTOVÝ.ODKAZ("mailto:"&Vzor!C4;Vzor!C4))

+ modrý a podčiarknutý font ?

Táto úprava urobí UTF-16 LE BOM, len v E2003 sa musí urobiť export do TXT a následne premenovať na ZAP. V E2024 to ide rovno to ZAP.
Upravil som aj rozhasené podm. formátovanie.

Neprišiel som na to, prečo sa za použitú oblasť považujú všetky stĺpce (256) akonáhle sa skryjú, no iba v tých prvých 3 listoch. Inde sú tiež skryté, ale ako použitá oblasť je iba skutočne použitá. Skúšal som aj vytvoriť znovu listy, vytvoriť kopírovaním z tých čo sú OK, ale vždy to dopadne rovnako. Zdá sa mi, že to neúmerne zväčšuje súbor.

@pepča: ak by Vám hneď nepadlo do oka, o čom tu s "veny" píšeme, tak je to práve oblasť $H$1:H1 vs $U$1:$U1. Teda to je stĺpec, v ktorom máme už ten vzorec, len iba po riadok vyššie. Teda hľadáme (0) ktoré ešte nemáme v našom stĺpci. Preto tam musí byť tá 1. bunka ako hlavička (nevyskytujúca sa v prehľadávaných hodnotách).

@veny: to asi nie

Pr.

-Jedná sa tam vždy iba o číselné hodnoty? Teda nie je v exporte text s diakritikou?
-Výsledné kódovanie textového súboru ZAP musí byť UTF-16 LE BOM?
-Desatiny sú v exporte vždy na 4 desatinné miesta?
-Desatinný oddeľovač v exporte je bodka "." ?
-"výška stroje/cíle" je vždy "0.0000" alebo je ten stĺpec určený na manuálne dopisovanie.

Pýtam sa to všetko preto, lebo tak ako to robíte, by som to určite nerobil.

Príklad:

Príloha nejde stiahnuť, skúste ju priložiť ešte raz.

Neviem, ktorý mail myslíte. Jeden používate ako príjemcu, a druhý ako príjemcu kópie a príjemcu skrytej kópie.
Ak prvý, tak si zmeňte iba
.To = ThisWorkbook.Worksheets("List2").Range("A1")a
.Subject = Format(Date, "DD.MM.YYYY") & " - " & WS.Range("A3")

2 varianty. Ak Vám nie je jasný rozdiel, píšte.
Sub a()
Dim xOutApp As Object
Dim xOutMail As Object
Dim WS As Worksheet

ThisWorkbook.Save

On Error Resume Next
Set xOutApp = GetObject(, "Outlook.Application")
On Error GoTo 0

If xOutApp Is Nothing Then
Set xOutApp = CreateObject("Outlook.Application")
End If
Set xOutMail = xOutApp.CreateItem(0)
Set WS = ThisWorkbook.ActiveSheet

On Error Resume Next

With xOutMail
.To = WS.Range("A1")
.CC = WS.Range("A2")
.BCC = WS.Range("A2")
.Subject = WS.Range("A3")
.Body = xMailBody
.Attachments.Add ThisWorkbook.FullName
.Display 'or use .Send
End With

If Err.Number <> 0 Then
MsgBox "Pri odosielaní mailu došlo k chybe !", vbCritical
End If

On Error GoTo 0

Set xOutMail = Nothing
Set xOutApp = Nothing
End Sub


Sub b()
Dim xOutApp As Object
Dim xOutMail As Object
Dim WS As Worksheet
Dim tmpFile As String

tmpFile = Environ$("temp") & "\" & ThisWorkbook.Name
ThisWorkbook.SaveCopyAs tmpFile

On Error Resume Next
Set xOutApp = GetObject(, "Outlook.Application")
On Error GoTo 0

If xOutApp Is Nothing Then
Set xOutApp = CreateObject("Outlook.Application")
End If
Set xOutMail = xOutApp.CreateItem(0)
Set WS = ThisWorkbook.ActiveSheet

On Error Resume Next

With xOutMail
.To = WS.Range("A1")
.CC = WS.Range("A2")
.BCC = WS.Range("A2")
.Subject = WS.Range("A3")
.Body = xMailBody
.Attachments.Add tmpFile
.Display 'or use .Send
End With

If Err.Number <> 0 Then
MsgBox "Pri odosielaní mailu došlo k chybe !", vbCritical
End If

On Error GoTo 0

Kill tmpFile

Set xOutMail = Nothing
Set xOutApp = Nothing
Set WS = Nothing
End Sub

Option Explicit
To slúži na to, aby debuger kontroloval, či máte definované všetky premenné. Aby ste nepoužil nedefinovanú premennú.

TimeValue("00:00:01")
TimeSerial(0, 0, 1)

je to isté, len jedno dá sekundu času z textového času, a druhé čísel jednotlivých zložiek času (hod, min, sek)

Menej ako sekunda? To je informačné okno, načo tam potrebujete desatiny, to nie sú stopky. Ak požadujete presnejší timer, tak treba použiť ďalšie API a systémový timer, ale s tým je problematická práca. Nesmiete pri ňom debugovať alebo pozastaviť makro, spadne Excel.

Tak?

Napr. do A1 vzorec, A1 natiahnuť po D1, A1:D1 natiahnuť na požadovanú výšku:
=IFERROR(INDEX(data!$A$1:$B$7;(ROW(A1)-1)*2+IF(COLUMN(A1)>2;2;1);2-MOD(COLUMN(A1);2));"")
=IFERROR(INDEX(data!$A$1:$B$7;(ŘÁDEK(A1)-1)*2+KDYŽ(SLOUPEC(A1)>2;2;1);2-MOD(SLOUPEC(A1);2));"")

Jednoduchý príklad...

"MilanKop" napsal/a:

...nebo něco zapomněl vyplnit...

No veď práve. Pretože to býva často Výberový zoznam "ANO", "NE", ktorý umožňuje nezadať nič (alebo bunku zmazať), tak by som netestoval existenciu "NE" ale naopak neexistenciu "ANO". Aby sa za chybu považovalo aj nevyplnenie/zmazanie bunky.
If List1.Range("A1").Value <> "ANO" Then

Aj to niekto pochopil???

"Názorný výsledek" - no možno, ale treba širší popis.

Vo výsledku je stĺpec G nepodstatný? Alebo sa do toho počtu započítavajú práve tie čísla, ktoré v G sú? Teraz sú to 1, ale keby bola v G17 2, bol by výsledok aký? 81 5500?

Kam sa stráca hodnota stĺpca H? Tá sa ignoruje? Alebo sa jedná o kombináciu H&I 6040&5500, 6040&3800, 6040&3000 a z toho sa zoberú jedinečné, pričom sa H vynechá? Takže H bude vždy rovnaké pri určitom I? Alebo môže nastať že v H17 bude 6041? Aký by bol potom výsledok? Tiež 80 5500? Alebo 79 5500, a tá druhá 5500, čo má namiesto 6040 v H 6041, by bola nejako inak rozlíšená s počtom 1 5500?

Ak je stĺpcov v riadku viac, tak sú v riadku vždy rovnaké hodnoty? Ak nie, ako sa určí jedinečnosť? Vyššie popísaným spôsobom? 6040&3000&3000? Alebo môže J152 3001, a potom bude výsledok aký?
19 3000 3000
1 3000 3001
?
Alebo ak je raz kombinácia stĺpcov 6040&3000&3000, tak iná byť nemôže ? Napr. 6040&3000, 6040&3000&3000, 6040&3000&3001, 6040&3000&3000&3000&3000, ...

Jedná sa o obyč. tabuľku alebo o objekt Tabuľka?
Výsledok ma byť vzorcom, makrom, PowerQuery?


Strana:  1 ... « předchozí  13 14 15 16 17 18 19 20 21   další » ... 300

Uživatelské menu

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

Menu

Formulář Faktura

Formulář Faktura IV

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

Helios iNuvio

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.

On-line nástroje