Kullanıcıların hem Excel'de hem de LibreOffice Calc'ta çalışacağı bir elektronik tablom var. Her ikisinde de işe yarayacak makrolar tasarlamak istiyorum. Söyleyeceğim kodu düşünüyordum: Eğer Excel Sonra [VBA kodu], Else [Temel veya Python kodu]
İki anahtarın, her iki programın okuyabileceği bir IF / THEN ifadesi (veya eşdeğeri) olacağını ve her iki programın da kendileri için geçerli olmayan kodu yoksaymasını sağlamanın bir yolu olacağını düşünüyorum.
Zaten LibreCalc içinde çalıştırmayı denedim ama işe yaramadı. İşte Excel ve Calc'da çalıştırmam gereken kod:
Public Sub spubInsertCurrDateTimeText()
'DESCRIPTION: inserts current date and time into the active cell in text format.
Dim dtmNow As Date
Dim CurrTemp As Date
Dim CurrTot As Date
Dim NewTot As Date
Dim StartCol As Integer
Dim StopCol As Integer
Dim ClockTimerCol As Integer
Dim TotalTimeCol As Integer
dtmNow = Now 'sets variable to value of function NOW (current date/time)
StartCol = 1 'this is the column where the user enter the starting time
StopCol = 2 'this is the column where the user enter the ending or stop time
ClockTimerCol = 3 'this is the column that calculates elapsed time (StopCol minus StartCol)
TotalTimeCol = 4 'this is the column that tracks the total time elapsed in minutes
If ActiveCell.Column = StartCol Then
ActiveCell = dtmNow 'inserts variable into the active cell
Worksheets(ActiveSheet.Name).Cells(ActiveCell.Row, StopCol).Value = 0
ElseIf ActiveCell.Column = StopCol Then
ActiveCell = dtmNow 'inserts variable into the active cell
CurrTot = Worksheets(ActiveSheet.Name).Cells(ActiveCell.Row, TotalTimeCol).Value
CurrTemp = Worksheets(ActiveSheet.Name).Cells(ActiveCell.Row, ClockTimerCol).Value
NewTot = CurrTot + (CurrTemp * 1440)
Worksheets(ActiveSheet.Name).Cells(ActiveCell.Row, TotalTimeCol).Value = NewTot
Worksheets(ActiveSheet.Name).Cells(ActiveCell.Row, StartCol).Value = 0
Worksheets(ActiveSheet.Name).Cells(ActiveCell.Row, StopCol).Value = 0
Else
ActiveCell = dtmNow 'inserts variable into the active cell
End If
End Sub
Herhangi bir öneri?