Registriert seit: 24.09.2016
Version(en): Office 365 / Mac OS
Ja genau!!!
Und jetzt nur noch beginnend bei 1,5.
Das erste Objekt wird in Jahr 1 angeschafft, folglich wäre die erste Modifikation bei 1,5.
Danke!!!
Registriert seit: 21.07.2016
Version(en): 2007
24.09.2016, 12:42
(Dieser Beitrag wurde zuletzt bearbeitet: 24.09.2016, 12:43 von IchBinIch.)
Dann das Makro so:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim o As Long 'Anzahl Objekte
Dim nd As Double 'Nutzungsdauer
If Target.Address = "$A$2" Then 'in Deinem Fall ist Target.Address = "$B$17"
Z = 1
For o = 1 To Tabelle1.Cells(2, 1).Value
Tabelle1.Cells(4, o).Value = "Objekt " & o
zz = 5 'für die Ausgabe der Modifikationsintervalle
For nd = 0 To Tabelle1.Cells(2, 3).Value Step Tabelle1.Cells(2, 2).Value 'Step definiert die Schrittweite der Schleife ist also das Intervall
'Wenn das Modifikationsintervall größer 0 und kleiner Nutzungsdauer ist dann
If nd > 0 And nd < Tabelle1.Cells(2, 3).Value Then
Tabelle1.Cells(zz, o).Value = nd + Z
'Erhöhe den Wert für die Zielzeile um 1
zz = zz + 1
'Ende der Prüfung
End If
'Nächstes Intervall
Next nd
Z = Z + 2
'Nächtes Objekt
Next o
End If
End Sub
VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media
Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0
Und das ist das Ergebnis:
Tabelle1 | A | B | C | D |
1 | Anzahl Objekte | Modifikationsintervall | Nutzungsdsauer | |
2 | 4 | 0,5 | 2 | |
3 | | | | |
4 | Objekt 1 | Objekt 2 | Objekt 3 | Objekt 4 |
5 | 1,5 | 3,5 | 5,5 | 7,5 |
6 | 2 | 4 | 6 | 8 |
7 | 2,5 | 4,5 | 6,5 | 8,5 |
Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8 Gruß
Ich
Registriert seit: 21.07.2016
Version(en): 2007
Ich hatte noch einen kleinen Denkfehler drin.
Du musst diese Zeile
wie folgt ändern:
Code:
Z = Z + Tabelle1.Cells(2, 3)
Sorry dafür.
Registriert seit: 24.09.2016
Version(en): Office 365 / Mac OS
Vielen Vielen Dank! Ich werde es einbinden sobald ich zu Hause bin.
Du warst mir wirklich eine Riesen Hilfe.
Danke!