2.2k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo erst ein mal !!
habe da ein probelm... ich möchte mein makro so umschreiben
das es mir meine formel automatisch ausfült...

so wie es jetzt ist klapt es auch wohl,aber ich möchte das er mir nicht die zahlen reien ausfült sonder die buchstaben...

Sub insert_formula()
Dim rngC As Range, intZ As Integer
intZ = 109
For Each rngC In Range("B7:B20")
If rngC.Row Mod 3 = 0 Then
rngC.Formula = "=Tabelle2!A" & intZ
intZ = intZ + 9
End If
Next
End Sub

meine formel muß so aussehen...
B4=Tabelle2!C3 / C4=Tabelle2!E3 / D4=Tabelle2!I3 / E4=(Tabelle1!B1002)-(Tabelle1!D1002) / F4=Tabelle2!C1002

B5=Tabelle2!L3 / C5=Tabelle2!N3 / D5=Tabelle2!R3 / E5=(Tabelle1!K1002)-(Tabelle1!M1002) / F5=Tabelle2!L1002

und diese reienfolge muß bis B200 nach unten

danke schon mal für eure hilfe
gruß nero022.

9 Antworten

0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi nero ^^

etwas in der art ?

gruss nighty

Sub Insert_formula()
Dim MyArrFor As Variant
Dim MyArrRng As Variant
Dim ZeilenIndex As Integer
Dim ArrIndex As Integer
MyArrFor = Array("= Tabelle2!C3", "=Tabelle2!E3")
MyArrRng = Array("B", "C")
For ZeilenIndex = 4 To 200
For ArrIndex = LBound(MyArrRng, 1) To UBound(MyArrRng, 1)
If IsNumeric(Range("" & MyArrRng(ArrIndex) & ZeilenIndex)) = True Then
Range("" & MyArrRng(ArrIndex) & ZeilenIndex).Formula = MyArrFor(ArrIndex)
End If
Next ArrIndex
Next ZeilenIndex
End Sub
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all ^^

opps :-))

bei lbound wie ubound koennen die vermeintlichen parameter(zur zeit 1)entfernt werden da ja eh nur eine dimension vorhanden ist.

gruss nighty
0 Punkte
Beantwortet von
hallo nighty , erst ein mal danke dafür das du mir helfst... !!!

aber leider ist es nicht das was ich brauche.
bei deinem makro fügt er mir immer die selbe formel in meine felder.
also meine zellen mit den formeln von B4 bis B5 habe ich ja oben schon geschriebe,
B6 würde dan so aussehen....

B6=Tabelle2!U3
C6=Tabelle2!W3
D6=Tabelle2!AA3
E6=(Tabelle1!T1002)-(Tabelle1!V1002)
F6=Tabelle2!U1002

B7 z.b. wäre dann =Tabelle2!AD3 das wären dan 9 zellen weiter ( von U3 bis AD3 )
und bei den anderen ist es auch so.

gruß nero.
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi nero ^^

ich komme ins trudeln :-)

bei deinem makro wird der zeilenindex erhoeht, um 9

darunterliegende beispiele wird der spaltenindex um 9 erhoeht,das waeren dann aber bei 200 zeilen,1800 spalten

am besten schickst du mir mal eine kleine musterdatei

vorher vs nacher

registrier dich bitte,dann schick ich dir meine emailaddresse

gruss nighty
0 Punkte
Beantwortet von nero022 Mitglied (179 Punkte)
hallo nighty habe mich angemeldet...
was soll ich jetzt machen.. ??

gruß nero022
0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
Hallo,

darunterliegende beispiele wird der spaltenindex um 9 erhoeht,das waeren dann aber bei 200 zeilen,1800 spalten


nutzt du Excel 2007? Sonst sind keine 1800 Spalten möglich

Gruß

Helmut
0 Punkte
Beantwortet von
Hi,

Quick&Dirty würde das bei mir in etwa aussehen, wie folgt:

Sub FillFormulas()
Dim lngCount As Integer
Dim lngCount2 As Integer

For lngCount = 4 To 200
Range("B" & lngCount).FormulaR1C1 = "=Tabelle2!R[" & 3 - lngCount & "]C[" _
& (lngCount - 3) + lngCount2 * 8 & "]"
Range("C" & lngCount).FormulaR1C1 = "=Tabelle2!R[" & 3 - lngCount & "]C[" _
& (lngCount - 2) + lngCount2 * 8 & "]"
Range("D" & lngCount).FormulaR1C1 = "=Tabelle2!R[" & 3 - lngCount & "]C[" _
& (lngCount + 1) + lngCount2 * 8 & "]"
Range("E" & lngCount).FormulaR1C1 = "=(Tabelle1!R[" & 1002 - lngCount & "]C[" _
& (lngCount - 7) + lngCount2 * 8 & "])" _
& "-(Tabelle1!R[" & 1002 - lngCount & "]C[" _
& (lngCount - 5) + lngCount2 * 8 & "])"
Range("F" & lngCount).FormulaR1C1 = "=Tabelle2!R[" & 1002 - lngCount & "]C[" _
& (lngCount - 7) + lngCount2 * 8 & "]"
lngCount2 = lngCount2 + 1
Next lngCount

End Sub


bye
malSchauen
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all ^^

ich hab ja nur excel 2000 ,vielleicht reicht ja schon malSchauen sein Ansatz,langsam hab ich den verdacht das excel 2000 zu alt wird,bin ab heute student :-)) da wirds billiger *hihi*

gruss nighty
0 Punkte
Beantwortet von
Hallo der ansatz von malSchauen ist genau das was ich gesucht habe... !!!!
habe noch ein par zeilen hinzugefügt und es klappt wunderbar !!!!!!!!!!!!!!!!

Danke an euch das ihr immer so schnelle hilfe gebt !!!!!!!!!!

gruß nero 022
...