Makros von MS Excel zu Libre Calc konvertieren
Verfasst: Mi 13. Mär 2019, 07:01
Hallo Leute ich habe 2 Makros die in Libre Calc nicht richtig funktionieren.
Kann jemand von euch sie zum richtigen laufen bringen?
Mein Dank würde euch Tag und Nacht verfolgen
Sub Makro1()
'
' Makro1 Makro
'
'
Range("B8:B37").Select
ActiveWorkbook.Worksheets("Station 3A").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Station 3A").Sort.SortFields.Add Key:=Range( _
"B8:B37"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Station 3A").Sort
.SetRange Range("B8:AB37")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
ActiveWindow.ScrollRow = 15
ActiveWindow.ScrollRow = 14
ActiveWindow.ScrollRow = 13
ActiveWindow.ScrollRow = 12
ActiveWindow.ScrollRow = 11
ActiveWindow.ScrollRow = 10
ActiveWindow.ScrollRow = 9
ActiveWindow.ScrollRow = 8
ActiveWindow.ScrollRow = 7
ActiveWindow.ScrollRow = 6
ActiveWindow.ScrollRow = 5
ActiveWindow.ScrollRow = 4
ActiveWindow.ScrollRow = 3
ActiveWindow.ScrollRow = 2
ActiveWindow.ScrollRow = 1
End Sub
Dieses Makro sollte einen definierten Zellbereich über einen Button alphabetisch sortieren.
Option Explicit ' Variablendefinition erforderlich
Public DaEt As Date ' nächste Starzeit des Makros
Public Const DaZeit As Date = "00:03:00" ' Zeitabstand prüfen
Sub Zeitmakro()
' Zeit in Zelle um 1 Sekunde runtersetzen
ThisWorkbook.Worksheets("Timer").Range("A1") = _
ThisWorkbook.Worksheets("Timer").Range("A1") - CDate("00:00:01")
' Falls Restzeit > 0 dann Makro wiederholen,
' ansonsten Datei schließen mit speichern
If ThisWorkbook.Worksheets("Timer").Range("A1") <> 0 Then
DaEt = Now + TimeValue("00:00:01")
Application.OnTime DaEt, "Zeitmakro"
Else
' Datei schließen mit speichern, Fals nicht speichern
ThisWorkbook.Close True 'speichern
End If
End Sub
Dieses Makro soll einen Timer runterzählen und nach Ablauf der Zeit die Arbeitsmappe schließen und speichern.
Wer kann helfen?
Vielen Dank im Voraus
Lothar
Kann jemand von euch sie zum richtigen laufen bringen?
Mein Dank würde euch Tag und Nacht verfolgen
Sub Makro1()
'
' Makro1 Makro
'
'
Range("B8:B37").Select
ActiveWorkbook.Worksheets("Station 3A").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Station 3A").Sort.SortFields.Add Key:=Range( _
"B8:B37"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Station 3A").Sort
.SetRange Range("B8:AB37")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
ActiveWindow.ScrollRow = 15
ActiveWindow.ScrollRow = 14
ActiveWindow.ScrollRow = 13
ActiveWindow.ScrollRow = 12
ActiveWindow.ScrollRow = 11
ActiveWindow.ScrollRow = 10
ActiveWindow.ScrollRow = 9
ActiveWindow.ScrollRow = 8
ActiveWindow.ScrollRow = 7
ActiveWindow.ScrollRow = 6
ActiveWindow.ScrollRow = 5
ActiveWindow.ScrollRow = 4
ActiveWindow.ScrollRow = 3
ActiveWindow.ScrollRow = 2
ActiveWindow.ScrollRow = 1
End Sub
Dieses Makro sollte einen definierten Zellbereich über einen Button alphabetisch sortieren.
Option Explicit ' Variablendefinition erforderlich
Public DaEt As Date ' nächste Starzeit des Makros
Public Const DaZeit As Date = "00:03:00" ' Zeitabstand prüfen
Sub Zeitmakro()
' Zeit in Zelle um 1 Sekunde runtersetzen
ThisWorkbook.Worksheets("Timer").Range("A1") = _
ThisWorkbook.Worksheets("Timer").Range("A1") - CDate("00:00:01")
' Falls Restzeit > 0 dann Makro wiederholen,
' ansonsten Datei schließen mit speichern
If ThisWorkbook.Worksheets("Timer").Range("A1") <> 0 Then
DaEt = Now + TimeValue("00:00:01")
Application.OnTime DaEt, "Zeitmakro"
Else
' Datei schließen mit speichern, Fals nicht speichern
ThisWorkbook.Close True 'speichern
End If
End Sub
Dieses Makro soll einen Timer runterzählen und nach Ablauf der Zeit die Arbeitsmappe schließen und speichern.
Wer kann helfen?
Vielen Dank im Voraus
Lothar