Supportnet Computer
Planet of Tech

Supportnet / Forum / WindowsXP

Formeln kopieren





Frage

Hallo zusammen!! Ich möchte folgende Formel per Makro in jede Zelle eines mit Namen definierten Bereiches einsetzen. z. B.: Formel für Zelle A1: =WENN(Tabelle1!U2="ja";Tabelle3!$A$2;WENN(Tabelle1!U2="nein";"Keine Anfrage an ........";"")) Die nächste Zelle wo die Formel dann kopiert werden soll, wäre die Zelle A9 =WENN(Tabelle1!U3="ja";Tabelle3!$A$2;WENN(Tabelle1!U3="nein";"Keine Anfrage an ITT Galfer";"")) und in der Zelle A17 soll dann die selbe Formel stehen nur dann halt mit U4 und so weiter... Wahrscheinlich muss ich das Problem mit Makro lösen oder? Hat jemand eine Idee?

Antwort 1 von coros

Hallo Smart,

sorry, aber das was Du vor hast, wird nicht gehen. Denn Deine Formeln haben unterschiedliche Kriterien. Was geanu ich meine, bei der einen Formel heißt es "Keine Anfrage an ........" bei der nächsten "Keine Anfrage an ITT Galfer". Woher soll ein Makro wissen, was dort als Text nachher in der Formel erscheinen soll?

Sollte das ein Schreibfehler von Dir sein und die Formeln sollen immer gleich bis auf die Zellbezeichnung U2 sein, dann sollte nachfolgendes Makro das AMchen, was Du Dir vorstellst.
Kopiere es in ein StandardModul und starte es z.B. über eine Befehlsschaltfläche.

Option Explicit

Sub Formel_eintragen()
Dim iRow    As Long
Dim Zähler  As Integer
Zähler = 2
For iRow = 1 To 30 Step 8
Cells(iRow, 1).FormulaLocal = "=WENN(Tabelle1!U" & Zähler & "=""ja"";Tabelle3!$A$2;WENN(Tabelle1!U" & Zähler & "=""nein"";""Keine Anfrage an ........"";""""))"
Zähler = Zähler + 1
Next
End Sub


Ich hoffe, Du kommst klar.
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.

Bei Fragen melde Dich.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von Saarbauer

hallo,

versuch es mal so in den entsprechenden Zelle (A1; A9; A17 usw.)

=WENN(INDIREKT(ADRESSE(2+ABRUNDEN(ZEILE()/8;);21;1;1;"Tabelle1"))="ja";Tabelle3!$A$2;WENN(INDIREKT(ADRESSE(2+ ABRUNDEN(ZEILE()/8;);21;1;1;"Tabelle1"))="nein";"Keine Anfrage an ........";""))

wobei ich es nur einer kleinen Tabelle testen konnte

Gruß

Helmut

Antwort 3 von Smart79

Hey Coros danke für den Vorschlag habe es auch ausprobiert und funktioniert auch aber wie kann ich im Makro eingeben das es fortlaufend ist?

Antwort 4 von Smart79

Hey Coros ich hatte im meinem Beispiel Zelle A1 angegeben aber es soll bei Zelle B2 starten und dann B10 und dann B18 und dann so weiter ... Wie kann ich das in die Makro Formel eingeben?

Antwort 5 von Saarbauer

Hallo,

mit @coros Makro

Option Explicit

Sub Formel_eintragen()
Dim iRow As Long
Dim Zähler As Integer
Zähler = 2
For iRow = 1 To 30 Step 8
Cells(iRow, 2).FormulaLocal = "=WENN(Tabelle1!U" & Zähler & "=""ja"";Tabelle3!$A$2;WENN(Tabelle1!U" & Zähler & "=""nein"";""Keine Anfrage an ........"";""""))"
Zähler = Zähler + 1
Next
End Sub


bei meiner Formel geht es so

Gruß

Helmut

Antwort 6 von Smart79

Die Formel klappt super jedoch startet sie bei B1 und sie soll halt bei B2 starten und dann B10 und so weiter wo muss ich die Formel dann ändern. Sorry das ich noch mal fragen muss.

Antwort 7 von Saarbauer

hallo

dann ändere

For iRow = 2 To 30 Step 8


Gruß

Helmut

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: