Hallo,
ich digitalisiere meine Schallplatten und benötige für den Titelschnitt die Zeiten der Liedübergänge in Minuten und Sekunden. Deswegen habe ich ein Makro geschrieben das mir nach der Eingabe der Dauer der einzelnen Lieder die Zeiten der Übergänge in Minuten und Sekunden ausgibt. Leider rechnet es falsch und ich finde den Fehler nicht.
Meine Grundidee ist: Der Endpunkt des vorigen Liedes + die Dauer des aktuellen Liedes = der Endpunkt des aktuellen Liedes
Hier der Code:
Sub lied()
Dim minVorEnd As Integer, sekVorEnd As Integer, i As Integer
Dim sekGesVorEnd As Integer, minLied As Integer, sekLied As Integer, sekGesLied As Integer, sekGesEndZeit As Integer
Dim vollMinEndZeit As Integer, ez As Integer
i = 0
ez = 0
sekVorEnd = 0
minVorEnd = 0
sekLied = 0
minLied = 0
sekGesVorEnd = 0
sekGesLied = 0
sekGesEndZeit = 0
vollMinEndZeit = 0
'Anzahl der Lieder bestimmen, n
i = 3
Do Until (ActiveSheet.Cells(i, 3) = "")
i = i + 1
Loop
ez = i - 1
For i = 4 To ez
'einlesen Minuten, Sekunden
'vorige Endzeit
minVorEnd = ActiveSheet.Cells(i - 1, 5)
sekVorEnd = ActiveSheet.Cells(i - 1, 6)
'Lieddauer
minLied = ActiveSheet.Cells(i, 3)
sekLied = ActiveSheet.Cells(i, 4)
'umwandeln Minuten in Sekunden
'vorige Endzeit
sekGesVorEnd = minVorEnd * 60 + sekVorEnd
'Lieddauer
sekGesLied = minLied * 60 + sekLied
'sekGesEndZeit
sekGesEndZeit = sekGesVorEnd + sekGesLied
'Umwandlung Sekunden in Minuten + Sekunden
Do Until (sekGesEndZeit Mod 60 = 0)
sekGesEndZeit = sekGesEndZeit - 1
'volle Sekunden Endzeit
sekEndZeit = sekEndZeit + 1
Loop
'volle Minuten Endzeit
vollMinEndZeit = sekGesEndZeit / 60
'Auslesen der Endzeit des Liedes
ActiveSheet.Cells(i, 5) = vollMinEndZeit
ActiveSheet.Cells(i, 6) = sekEndZeit
Next i
End Sub
hier eine Ansicht meines Blattes:
der gelbe Bereich ist der Eingabebereich der Dauer der Lieder. In den Spalten E und F werden die Übergänge ausgegeben.
Vielen Dank für die Hilfe im Voraus!!
|