Funkčné makro - zdroj.
Za výkonným riadkom dajte
DoEvents
Ale pozor ! Veľmi to spomaľuje !
Ak je príloha XLSM, musí byť zabalená v ZIP.
celá označená oblasť
Sub Posun()
Selection.Offset(3, 6).Select
End Sub
prvá bunka označenej oblasti
Sub Posun()
Selection.Cells(1).Offset(3, 6).Select
End Sub
Súbor - Možnosti - Doplnky - Spustiť - Analytické nástroje - OK
Vy kopírujete bunku, preto to tak robí. Vzorec kopírujte a vkladajte v riadku vzorcov.
Použite výpočet inak. Mod vo VBA nie je to isté ako MOD v Exceli. Môžete použiť aj vyremované vypínanie Events
'Dim DisableEvent As Boolean
Private Sub TextBox1_Change()
'If DisableEvent Then Exit Sub
Zmena
End Sub
Private Sub TextBox2_Change()
'If DisableEvent Then Exit Sub
Zmena
End Sub
Private Sub TextBox3_Change()
'If DisableEvent Then Exit Sub
Zmena
End Sub
Sub Zmena()
Dim zac As Date, kon As Date
On Error Resume Next
zac = TimeValue(Me.TextBox1.Value)
kon = TimeValue(Me.TextBox2.Value)
Me.TextBox4.Value = MODX(kon - zac, 1) * 24 - (Me.TextBox3.Value / 60)
If Err.Number <> 0 Then Me.TextBox4.Text = ""
End Sub
Private Sub UserForm_Initialize()
'DisableEvent = True
Me.TextBox1.Value = "22:00"
Me.TextBox2.Value = "06:00"
'DisableEvent = False
Me.TextBox3.Value = "30"
End Sub
Function MODX(Cislo As Double, Del As Integer) As Double
MODX = Cislo - Del * Int(Cislo / Del)
End Function
Na označenie buniek rovnakou farbou za rovnakých podmienok ako bunka s dátumom (či sobotou) môžete použiť predsa rovnaký Podmienený formát. V makre použite na zistenie "farby" (nezisťujte priamo farbu, ale splnenie podmienky na zafarbenie) rovnaký princíp ako v Podmienenom formáte. O tomto hovorí užívateľ r13.
Je možné použiť aj spešl metódu na zistenie výslednej farby Podmieneného formátovania, pomocou Evaluate a DisplayFormat.
Čo ale potrebujete z textu nie je vôbec zrejmé.
Ani toto nepomôže?:
"[$-405]dd.mm.yy hh:mm"
Verzia a jazyk Win?
Verzia a jazyk Office?
Sub smazat_radek()
Dim Firstrow As Long
Dim Countrows As Long
Dim Lrow As Long
Dim CalcMode As Long
Dim ViewMode As Long
Dim aDataB()
Dim rngDel As Range
Dim rngRange As Range
Const constMARK = "MW-"
With Application
CalcMode = .Calculation
.Calculation = xlCalculationManual
End With
With ActiveSheet
ViewMode = ActiveWindow.View
ActiveWindow.View = xlNormalView
.DisplayPageBreaks = False
Firstrow = .UsedRange.Row
Countrows = .UsedRange.Rows.Count
Set rngRange = .Cells(Firstrow, "B").Resize(Countrows)
If Countrows = 1 Then ReDim aDataB(1 To 1, 1 To 1): aDataB(1, 1) = .Cells(Firstrow, "B").Value Else aDataB = rngRange.Value
For Lrow = 1 To Countrows
If Not IsError(aDataB(Lrow, 1)) Then
If Left$(aDataB(Lrow, 1), Len(constMARK)) = constMARK Then
If rngDel Is Nothing Then Set rngDel = rngRange.Cells(Lrow) Else Set rngDel = Union(rngDel, rngRange.Cells(Lrow))
End If
End If
Next Lrow
End With
If Not rngDel Is Nothing Then rngDel.EntireRow.Delete
ActiveWindow.View = ViewMode
With Application
.Calculation = CalcMode
End With
Beep
End Sub
=MAX(nákup mj;nákup nl)
+- autobus (neoptimalizované) ...
Prvý vzorec je maticový (Ctrl+Shift+Enter) a treba pred jeho editáciou nastaviť formát na Všeobecný. Po úprave naspäť na Text (kvôli možnosti, že budú textočísla začínať "0"). Natiahnuť na predpokladanú výšku.
To by chcelo ten konkrétny súbor.
Dnes som mal žiaľ neplánovaný online zásah cca 5 hod. Nestíham. Zatiaľ som popísal len makro. Pridal som ošetrenie chýb a výpis výsledkov. Lepšie popisovať neviem. Nie som učiteľ.
PQ musí ešte počkať...
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.