Kezdőlap › Fórumok › Excel programozás › programok, makrok összeegyeztethetősége
- This topic has 2 hozzászólás, 2 résztvevő, and was last updated 6 years, 4 months telt el by Potus.
-
SzerzőBejegyzés
-
2018-07-06-20:13 #4970
Sziasztok!
Létezik, hogy bizonyos programok, makrok zavarják egymás műkődését? Egy oldalon működtetnék egy kisebb tickert, egy órát és egy visszaszámlálót. Az utóbbi kettő mintha nem viselné el a tickert. Ha fut a ticker az órák megállnak.Potus
2018-07-09-09:35 #4971Szia!
Szerintem egyszerre két makrót nem tudsz futtatni. Márpedig a tickeredben az Ubound függvény folyamatosan frissíti a képernyőt, amíg fut a makród.
A kettőt egybe kellene használnod, akkor mehetne egyszerre, mert most két külön makró van, és az egyszerre nem tud futni. Vagy hívd meg egy függvénnyel az órát külön a programban, és akkor minden lépésben frissitsd az óra állását is.
Ez olyan, mintha az evés és az ivás makrót egyszerre akarnád, hogy menjen. Vagy eszel, vagy iszol. Ha pl tejet akarsz inni kiflievés közben, akkor is a kiflievés programod rágás része felfüggesztésre kerül, amíg iszol, majd folytatod tovább a rágást.
Itt is ugyanúgy kell eljárni.2018-07-10-19:43 #4974Hello Titok!
Mint már az eddigiekből is kiderülhetett annyira nem vágom még ezt a témát mint az az iménti hozzászólásodból következne 🙂 Úgy hogy segítségre lenne szükségem. Ezt a két macrot ( vagy ez nem is két macro???) kellen egy helyen üzemeltetnem.
Sub Ticker()
Application.Calculation = xlCalculationManual
Dim tMsg As String, tCell As Range, tLen As Long, tPos As Long
Dim Start, Delay
Set tCell = Range(„L11”)
tMsg = Range(„N16”)
With tCell.Font
.Name = „Courier New”
.FontStyle = „Regular”
.Size = 10
End With
tCell.ColumnWidth = Round(tCell.ColumnWidth, 1)
tLen = tCell.ColumnWidth – 1
Do
Start = Timer
If tPos > Len(tMsg) Then
tPos = 1
Delay = Timer + 1
Else
tPos = tPos + 1
Delay = Timer + 0.2End If
Do While Timer < Delay
DoEvents
tCell.Value = Mid(tMsg, tPos, tLen)
Loop
LoopEnd Sub
Sub worksheet_change(ByVal target As Range)
Application.Calculation = xlCalculationAutomatic
End Sub
Dim TimerActive As Boolean
Sub StartTimer1()
Start_Timer1
End Sub
Private Sub Start_Timer1()
Dim TimerActive As Boolean
TimerActive = True
Application.OnTime Now() + TimeValue(„00:00:01”), „Timer1”
End Sub
Private Sub Stop_Timer1()
TimerActive = False
End Sub
Private Sub Timer1()
Dim TimerActive As Boolean
If TimerActive Then
Sheets(„Munka1”).Cells(1, 1).Value = Time
Application.OnTime Now() + TimeValue(„00:00:01”), „Timer1”
End If
End SubElőre is köszi a sokadik segitséget! Potus
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.