online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon nero022022 vom 04.06.2022, 21:26 Options

formeln mit Makro ausfüllen...

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.


Antwort schreiben

Antwort 1 von nighty vom 05.06.2022, 10:39 Options

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  

Antwort 2 von nighty vom 05.06.2022, 10:43 Options

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

Antwort 3 von nero022022 vom 05.06.2022, 22:14 Options

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.

Antwort 4 von nighty vom 06.06.2022, 09:19 Options

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

Antwort 5 von nero022 vom 06.06.2022, 12:21 Options

hallo nighty habe mich angemeldet...
was soll ich jetzt machen.. ??

gruß nero022

Antwort 6 von Saarbauer vom 06.06.2022, 12:32 Options

Hallo,

Zitat:
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

Antwort 7 von malSchauen vom 06.06.2022, 13:17 Options

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

Antwort 8 von nighty vom 06.06.2022, 19:13 Options

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

Antwort 9 von nero022022 vom 06.06.2022, 20:32 Options

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

Ähnliche Themen

Makro mit formeln überlastet?
Nicole2  27.11.2008 - 32 Hits - 18 Antworten

Bedingung beim Ausfüllen in Excel
Anlernling  12.02.2009 - 631 Hits - 5 Antworten

Makro in Excel zum Formeln übertragen
nickdeluxe  07.09.2009 - 358 Hits - 14 Antworten

Formel automatisch ausfüllen
Andreadis  01.05.2010 - 122 Hits - 3 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026