Вход на сайт
VBA-Excel
162
NEW 20.09.09 17:07
Ребят, помогите.
В vba я практически ноль, не могу внедрить элементрные вещи. Вот моя программа:
'Schleife mit verschieden Eintrittsalter, verschieden BZD und verschiedenen VD
Dim geb As Date
Dim a As Integer
Dim b As Date
Dim i As Integer
Dim j As Integer
Dim z As Integer
'Dim faktor1 As Integer
Dim x As Integer
Dim bzd As Integer
Dim vd As Integer
Sub SVQuote()
x = 2
bzd = 3
vd = 3
'3.For-Schleife für verschiedene VD
'Anfang festlegen
a = "12"
For z = 1 To vd
ActiveWorkbook.Worksheets("Eingabe").Cells(17, 4).Value = a
'2.For-Schleife für verschiedene BZD
For j = 1 To bzd
ActiveWorkbook.Worksheets("Eingabe").Cells(20, 4).Value = j
'1.Innere For Schleife
'Beginndatum festlegen
b = CDate("02.08.1941")
'For-Schleife für verschiedene Eintrittsalter durchlaufen
For i = 1 To x
ActiveWorkbook.Worksheets("Eingabe").Cells(6, 4).Value = DateAdd("yyyy", i, b)
'Datum in Zelle einer Variablen zuweisen und in anderes Blatt schreiben
ActiveWorkbook.Worksheets("Auswertung").Cells(2 + ((j - 1) * x) + ((z - 1) * bzd * x) + i, 2) = ActiveWorkbook.Worksheets("Eingabe").Cells(6, 4).Value
'Ergebnis aus einem Blatt in das andere schreiben
ActiveWorkbook.Worksheets("Auswertung").Cells(2 + ((j - 1) * x) + ((z - 1) * bzd * x) + i, 5) = ActiveWorkbook.Worksheets("Diagramm").Cells(30, 4).Value
ActiveWorkbook.Worksheets("Auswertung").Cells(2 + ((j - 1) * x) + ((z - 1) * bzd * x) + i, 3) = ActiveWorkbook.Worksheets("Diagramm").Cells(17, 4).Value
ActiveWorkbook.Worksheets("Auswertung").Cells(2 + ((j - 1) * x) + ((z - 1) * bzd * x) + i, 4) = ActiveWorkbook.Worksheets("Diagramm").Cells(15, 4).Value
Next i
Next j
Next z
MsgBox ("Fertig")
End Sub
Она работает, всё в порядке. Я хочу, чтобы моя внешняя schleife, то ест маркированная область начиналась не с 1, а с 12.
Что для этого нужно сделать?
Заранее благодарна!
В vba я практически ноль, не могу внедрить элементрные вещи. Вот моя программа:
'Schleife mit verschieden Eintrittsalter, verschieden BZD und verschiedenen VD
Dim geb As Date
Dim a As Integer
Dim b As Date
Dim i As Integer
Dim j As Integer
Dim z As Integer
'Dim faktor1 As Integer
Dim x As Integer
Dim bzd As Integer
Dim vd As Integer
Sub SVQuote()
x = 2
bzd = 3
vd = 3
'3.For-Schleife für verschiedene VD
'Anfang festlegen
a = "12"
For z = 1 To vd
ActiveWorkbook.Worksheets("Eingabe").Cells(17, 4).Value = a
'2.For-Schleife für verschiedene BZD
For j = 1 To bzd
ActiveWorkbook.Worksheets("Eingabe").Cells(20, 4).Value = j
'1.Innere For Schleife
'Beginndatum festlegen
b = CDate("02.08.1941")
'For-Schleife für verschiedene Eintrittsalter durchlaufen
For i = 1 To x
ActiveWorkbook.Worksheets("Eingabe").Cells(6, 4).Value = DateAdd("yyyy", i, b)
'Datum in Zelle einer Variablen zuweisen und in anderes Blatt schreiben
ActiveWorkbook.Worksheets("Auswertung").Cells(2 + ((j - 1) * x) + ((z - 1) * bzd * x) + i, 2) = ActiveWorkbook.Worksheets("Eingabe").Cells(6, 4).Value
'Ergebnis aus einem Blatt in das andere schreiben
ActiveWorkbook.Worksheets("Auswertung").Cells(2 + ((j - 1) * x) + ((z - 1) * bzd * x) + i, 5) = ActiveWorkbook.Worksheets("Diagramm").Cells(30, 4).Value
ActiveWorkbook.Worksheets("Auswertung").Cells(2 + ((j - 1) * x) + ((z - 1) * bzd * x) + i, 3) = ActiveWorkbook.Worksheets("Diagramm").Cells(17, 4).Value
ActiveWorkbook.Worksheets("Auswertung").Cells(2 + ((j - 1) * x) + ((z - 1) * bzd * x) + i, 4) = ActiveWorkbook.Worksheets("Diagramm").Cells(15, 4).Value
Next i
Next j
Next z
MsgBox ("Fertig")
End Sub
Она работает, всё в порядке. Я хочу, чтобы моя внешняя schleife, то ест маркированная область начиналась не с 1, а с 12.
Что для этого нужно сделать?
Заранее благодарна!
20.09.09 21:11
в ответ NightWatch 20.09.09 20:41
не решает, думаю из за того, что vd = 3 дефенировала, то есть первые 2 schleife должны пробежать 3 круга, то есть для vd=12,13,14. надеюсь я понятно изъясняюсь.
я так решила эту проблему.
'3.For-Schleife für verschiedene VD
'Anfang festlegen
a = "11"
For z = 1 To vd
ActiveWorkbook.Worksheets("Eingabe").Cells(17, 4).Value = a + z
наверняка с точки зреня программиста не очень грамотно, но вроде работает)
я так решила эту проблему.
'3.For-Schleife für verschiedene VD
'Anfang festlegen
a = "11"
For z = 1 To vd
ActiveWorkbook.Worksheets("Eingabe").Cells(17, 4).Value = a + z
наверняка с точки зреня программиста не очень грамотно, но вроде работает)
