AW: automatisches Einfügen von Inputwerten
28.04.2010 18:48:37
Inputwerten
Hallo Michael,
versuch's mal hiermit:
Sub Daten_retten()
Dim rngQuelle As Range
Dim rngZiel As Range
Dim lngBasisWert As Long
'Hier die Angaben für deine Formelzelle eintragen
'Die Zelle, in welche die Daten (1-99999) eingetragen werden
'muss sich direkt links davon befinden!
Set rngQuelle = Workbooks("Mappe1.xls").Sheets("Tabelle1").Range("B1")
'Hier die Angaben für die Spalte angeben, in welche die
'Rechenergebnisse geschrieben werden sollen. Es muss eine Spalte
'mit 50000 Zeilen sein. Die anderen 49999 Ergebnisse kommen
'in die Spalte rechts daneben!
'Die Zellen über den Datenspalten (A1+B1) enthalten
'bereits vor Ausführung des Makros eine Überschrift
Set rngZiel = Workbooks("Mappe1.xls").Sheets("Tabelle2").Range("A2:A50001")
'Die ersten 49999 Werte abarbeiten
For lngBasisWert = 1 To 49999
'Ausgangswert in Zelle schreiben
rngQuelle.Offset(0, -1) = lngBasisWert
'Excel rechnen lassen
Application.Calculate
'Ergebnis retten
rngZiel.Cells(50000, 1).End(xlUp).Offset(1, 0) = rngQuelle
Next 'lngBasisWert
'Den 50000sten Wert bearbeiten
'Ausgangswert in Zelle schreiben
rngQuelle.Offset(0, -1) = 50000
'Excel rechnen lassen
Application.Calculate
'Ergebnis in die unterste Zelle der ersten Spalte schreiben
rngZiel.Cells(50000, 1) = rngQuelle
'Zielspalte um 1 nach rechts versetzen
Set rngZiel = rngZiel.Offset(0, 1)
'Die restlichen 49999 Werte abarbeiten
For lngBasisWert = 50001 To 99999
'Ausgangswert in Zelle schreiben
rngQuelle.Offset(0, -1) = lngBasisWert
'Excel rechnen lassen
Application.Calculate
'Ergebnis retten
rngZiel.Cells(50000, 1).End(xlUp).Offset(1, 0) = rngQuelle
Next 'lngBasisWert
End Sub
Gruß Ingolf