VBA Formel einfügen
Guten Tag Zusammen,
ich bin es mal wieder und brauche eure Hilfe.
Problem: Ich möchte die Termintreue angezeigt bekommen haben dafür hab ich diese Formel in Excel geschrieben:
=WENN(J2="";"";WENN(L2;"closed/ erledigt";WENN(HEUTE()>J2;"delay/Verzug";"in time/ rechtzeitig")))
Dies möchte ich jetzt aber Automatisieren und der Spalte K2:K-Ende hinzufügen oder Der ganzen Spalte K (Das was leichter umzusetzen ist).
Habe natürlich schon wie ein Blöder das Internet durchsucht und diesen Code gefunden:
Nun wie bekomm ich diesen Code in meinen Eingebunden?
Meine Formel würde ich so umändern:
=IF(J2="";"";IF(L2;"closed/ erledigt";IF(DATE()>J2;"delay/Verzug";"in time/ rechtzeitig")))
aber wie bekomme ich J2 und L2 variable da die Funktion auf über 1000 Zellen gehen sollte.
Danke für Eure Ratschläge und Tipps
Gruß Gimli3311
EDIT:
Ich hab es so mal versuch aber klappt natürlich nicht:
ich bin es mal wieder und brauche eure Hilfe.
Problem: Ich möchte die Termintreue angezeigt bekommen haben dafür hab ich diese Formel in Excel geschrieben:
=WENN(J2="";"";WENN(L2;"closed/ erledigt";WENN(HEUTE()>J2;"delay/Verzug";"in time/ rechtzeitig")))
Dies möchte ich jetzt aber Automatisieren und der Spalte K2:K-Ende hinzufügen oder Der ganzen Spalte K (Das was leichter umzusetzen ist).
Habe natürlich schon wie ein Blöder das Internet durchsucht und diesen Code gefunden:
Sub SummenPerMakro()
Dim Zelle As Range
Dim Nr As Long
For Each Zelle In ActiveSheet.Range("d2:d10")
Nr = Zelle.Row
Zelle.FormulaLocal = "=SUMME(A" & Nr & ":C" & Nr & ")"
Next Zelle
End Sub
Nun wie bekomm ich diesen Code in meinen Eingebunden?
Meine Formel würde ich so umändern:
=IF(J2="";"";IF(L2;"closed/ erledigt";IF(DATE()>J2;"delay/Verzug";"in time/ rechtzeitig")))
aber wie bekomme ich J2 und L2 variable da die Funktion auf über 1000 Zellen gehen sollte.
Vorlage_22.Activate
With ActivateSheet
'Dateilink
Vorlage_22.Range("A2:A" & Vorlage_22.Cells(Rows.Count, 1).End(xlUp).Row).Copy rngNext
'Nr/ ID
Vorlage_22.Range("B2:B" & Vorlage_22.Cells(Rows.Count, 1).End(xlUp).Row).Copy rngNext.Offset(0, 1)
'Inputgeber
Vorlage_22.Range("G2:G" & Vorlage_22.Cells(Rows.Count, 1).End(xlUp).Row).Copy rngNext.Offset(0, 2)
'Datum
Vorlage_22.Range("C2:C" & Vorlage_22.Cells(Rows.Count, 1).End(xlUp).Row).Copy rngNext.Offset(0, 3)
'Thema
Vorlage_22.Range("D2:D" & Vorlage_22.Cells(Rows.Count, 1).End(xlUp).Row).Copy rngNext.Offset(0, 4)
'Bewertung/Maßnahmen
Vorlage_22.Range("E2:E" & Vorlage_22.Cells(Rows.Count, 1).End(xlUp).Row).Copy rngNext.Offset(0, 5)
'Verantwortlich
Vorlage_22.Range("H2:H" & Vorlage_22.Cells(Rows.Count, 1).End(xlUp).Row).Copy rngNext.Offset(0, 8)
'Geplannte Termin
Vorlage_22.Range("I2:I" & Vorlage_22.Cells(Rows.Count, 1).End(xlUp).Row).Copy rngNext.Offset(0, 9)
'Durchführender
Vorlage_22.Range("M2:M" & Vorlage_22.Cells(Rows.Count, 1).End(xlUp).Row).Copy rngNext.Offset(0, 10)
'Erledigungs-Datum
Vorlage_22.Range("J2:J" & Vorlage_22.Cells(Rows.Count, 1).End(xlUp).Row).Copy rngNext.Offset(0, 11)
'Status
Vorlage_22.Range("L2:L" & Vorlage_22.Cells(Rows.Count, 1).End(xlUp).Row).Copy rngNext.Offset(0, 12)
'Termintreue
Vorlage_22.Range("K2:K" & Vorlage_22.Cells(Rows.Count, 1).End(xlUp).Row).Copy rngNext.Offset(0, 13)
'Formel Termintrue
'Bemerkung
Vorlage_22.Range("N2:N" & Vorlage_22.Cells(Rows.Count, 1).End(xlUp).Row).Copy rngNext.Offset(0, 14)
End With
Set rngNext = Vorlagen_Gesamt.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
Danke für Eure Ratschläge und Tipps
Gruß Gimli3311
EDIT:
Ich hab es so mal versuch aber klappt natürlich nicht:
For Each Cell In Vorlagen_Gesamt.Range("K")
Cell.FormulaLocal = " =IF(J2="";"";IF(L2;"closed/ erledigt";IF(DATE()>J2;"delay/Verzug";"in time/ rechtzeitig")))"
Next
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 266060
Url: https://administrator.de/contentid/266060
Ausgedruckt am: 23.11.2024 um 08:11 Uhr
4 Kommentare
Neuester Kommentar
ActiveSheet.Range("K2").FormulaLocal = "=WENN(J2="""";"""";WENN(L2;""closed/ erledigt"";WENN(HEUTE()>J2;""delay/Verzug"";""in time/ rechtzeitig"")))"
ActiveSheet.Range("K2:K" & ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row).FillDown
ist korrigiert, sorry war mit Phone unterwegs
http://www.piuha.fi/excel-function-name-translation/?page=deutsch-engli ...
Ich habs dir aber in Deutsch mit "FormulaLocal" eingebaut ...
Wie wärs mal mit VBA richtig lernen, anstatt dir alles zusammen zu suchen ? Wäre effektiver als den ganzen Tag im Forum rum zu hängen
Stimmt das DATE() in der Formel?
Nope, das wäre in Englisch today()http://www.piuha.fi/excel-function-name-translation/?page=deutsch-engli ...
Ich habs dir aber in Deutsch mit "FormulaLocal" eingebaut ...
Wie wärs mal mit VBA richtig lernen, anstatt dir alles zusammen zu suchen ? Wäre effektiver als den ganzen Tag im Forum rum zu hängen