Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  9 10 11 12 13 14 15 16 17   další » ... 70

Napadlo mě předělat UDF funkci na odstranění diakritiky.
Výsledek v příloze.

Myslel si to takto: ???
Private Sub Workbook_Open()
Dim MaxRadek As Long
With List1
MaxRadek = .Cells(Rows.Count, "A").End(xlUp).Row

.Cells.FormatConditions.Delete
With .Range("A2:A" & MaxRadek & "").FormatConditions.Add(Type:=xlExpression, Formula1:="=$A2=1")
.Font.ColorIndex = 33
.Interior.ColorIndex = 6
End With
End With
End Sub

Třeba takto.

Předělal sem vymazávání řádků.
Nyní se mažou všechny až na konci makra.
Teoreticky by se měl průběh zrychlit.

Nic lepšího mě nenapadlo, ale je to funkční.
Možná někdo přijde s jednodušším řešením.
Otestuj.

V souboru jsou dva jednoduché vzorce.
Sloupec se společnými daty můžeš skrýt, nebo ty dva výsledné sloupce označit -> kopírovat -> vložit jinak -> hodnoty.
Poté původní sloučená data odstranit.

Private Sub Workbook_BeforePrint(Cancel As Boolean)
If ActiveSheet.Name = "Faktura" Then
Cancel = True
Application.EnableEvents = False
Application.ScreenUpdating = False
With ActiveSheet
With .Range("D62:H64, N9:P9")
.Font.Color = vbWhite
.Borders(xlEdgeLeft).LineStyle = xlNone
.Borders(xlEdgeTop).LineStyle = xlNone
.Borders(xlEdgeBottom).LineStyle = xlNone
.Borders(xlEdgeRight).LineStyle = xlNone
End With
.PrintOut
With .Range("D62:H64, N9:P9")
.Font.Color = vbBlack
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders(xlEdgeRight).LineStyle = xlContinuous
End With
End With
Application.EnableEvents = True
Application.ScreenUpdating = True
End If
End Sub

Nula, tedy 0 není to samé jako "0"

Přesně 6
Tak to vypadá, že se budu muset smířit s diskotékou. 7

Jediné na co sem přišel je, pokud by se makro spouštělo opakovaně, cílový soubor minimalizovat. Při prvním spuštění "problikne" -> animace minimalizace (nejspíš záležitost OS), při následném spuštění je klid.

Ahoj, diky za reakci.
Přesně takhle to mám napsaný a funkční. Na konci procedury poté oba sešity ukládám.

ThisWorkbook.Save
If CilZavreny = True Then
WbCil.Close True
Else
WbCil.Save
End If

Problém je "pouze z estetického" hlediska pokud dojde na řádek WbCil.Save Přepne se ze zdrojového na cílový soubor a zase zpět.

Ahoj, přicházím si pro radu, protože už mi dochází nápady i trpělivost.
Mám vba kód který přenáší hodnoty mezi dvěma sešity. Pokud je cílový sešit uzavřen, dojde k jeho otevření (přes CreateObject) na pozadí, přenosu hodnot a opětovnému uzavření s uložením (WbKCil.Close True). To vše funguje bez problému.

Ten mi nastává v případě, že by byl cílový soubor otevřen uživatelem před spuštěním makra.
Přiřadím sešit do proměnné, provedu přenos hodnot a pouze uložím (WbkCil.Save), chci nechat soubor otevřený. Přesně v tomto kroku dojde k přepnutí mezi jednotlivými okny excelu a tedy problikávání obrazovky.

Přenos hodnot jako takový funguje, ale ta diskotéka mě irituje, bohužel Application.ScreenUpdating = False nic neřeší.

Máte někdo nápad?

Přiznám se, že se mi vůbec nechtělo to makro nějak extra studovat nebo přepisovat.
Jen sem upravil tvorbu textového řetězce a jeho přeměnu na pole přes fci SPLIT.

Sakra nezaregistroval sem, že to Elnino již vyřešil.
No nic přidám sem svůj pokus o řešení přes Evaluate (Elninova specialitka) 1 .
Má to však menší chybu, je to závislé na jméně listu. 7
I to by se snad dalo pořešit, ale to již není potřeba. Ber to jen jako ukázku další možnosti, která by se dala využít.

upraveno

Než přijde Elnino s něčím sofistikovanějším 5


Strana:  1 ... « předchozí  9 10 11 12 13 14 15 16 17   další » ... 70

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