Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1836to1840
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA: Wert kopieren wenn Bedingungen erfü

VBA: Wert kopieren wenn Bedingungen erfü
17.07.2021 13:47:49
Patrick
Hallo zusammen,
der Titel hier hört sich wahrscheinlich total einfach an, nichtsdestotrotz habe ich trotz Suche und herumprobieren keine zufriedenstellende Lösung hinbekommen. Daher hoffe ich, das jemand mir hier helfen kann.
Aufgabenstellung:
Der Wert (Spalte D) einer Anforderung soll in eine (Ziel-)Zelle kopiert werden, wenn bestimmte Bedingungen erfüllt sind.
Die Ziel-Zelle liegt in einem Kalender (Spalte F bis AE) und jede Anforderung (Spalte A) hat ein Datum (Spalte C). Nun soll der Wert (Spalte D) 3 Monate nach dem Datum in den Kalender geschrieben werden. Die Zielzelle darf aber nicht nach Spalte Q sein, da hier das neue Jahr anfängt.
Bedingung 1: Die Anforderungsnr. (Spalte A) fängt mit einem B oder einem AB an.
Bedingung 2: Der Wert (Spalte D) der Anforderung liegt zwischen 1 und 1000.
Bedingung 3: Die Zielzelle liegt zwischen Spalte F und Q (das Jahr 2021).
Werden die 3 Bedingungen nicht erfüllt, soll mit dem Wert nichts passieren und die nächste Zeile soll geprüft werden.
Ich habe dies in einer Beispieltabelle dargestellt, die Originaldatei hat zur Zeit 3400 Zeilen da kommen immer mal welche dazu bzw. welche entfallen.
Da in die Spalten E bis AE manuell Werte eingetragen werden (bei allen Anforderungen über 1000€), kann ich die Zellen nicht verformeln und daher soll dies über VBA laufen.
Es ließt sich nicht kompliziert, ist es für mich aber. Vielleicht hat jemand eine Lösung für mich?
Beispielmappe:
https://www.herber.de/bbs/user/147170.xlsm
Viele Grüße,
Patrick

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
kein Formellösung
17.07.2021 14:12:03
Hajo_Zi
das wurde schon im anderen Forum erstellt.
GrußformelHomepage
AW: VBA: Wert kopieren wenn Bedingungen erfü
17.07.2021 14:15:27
Patrick
@Hajo_Zi: Ich hab meinen Post in dem anderen Forum auf erledigt gesetzt, kann dort auch gelöscht werden.
AW: VBA: Wert kopieren wenn Bedingungen erfü
17.07.2021 18:46:58
JoWE
Hallo Patrick,
versuch mal:

Sub auswertung()
Dim b1 As Boolean 'Wert in Spalte A beginnt mit B oder mit AB, dann ist b1 wahr
Dim b2 As Boolean 'Wert in Splate 4 ist zwischen 0,01 und 1000, dann ist b2 wahr
Dim b3 As Boolean 'Monat aus Spalte C plus 7 Monate ist noch in 2021, dann ist b3 wahr
Dim ze As Long 'Zeilenzähler
For ze = 7 To Cells(Rows.Count, 1).End(xlUp).Row
b1 = Left(Cells(ze, 1).Text, 1) = "B" Or Left(Cells(ze, 1).Text, 2) = "AB"
b2 = Cells(ze, 4).Value > 0.01 And Cells(ze, 4).Value 
Gruß
Jochen
Anzeige
AW: VBA: Wert kopieren wenn Bedingungen erfü
18.07.2021 11:57:58
Patrick
Hallo Jochen,
vielen Dank für deinen Code. Ich habe ihn an einer Stelle angepasst und es funktioniert wie ich möchte, super.
Eine Frage nur zum Verständnis. Die Prozedur ist ja auch mit mehreren If und Then möglich, du hast die Umsetzung mit Boolean gewählt.
Einfach nur so weil es passt oder hat dies auch Vorteile im Bezug auf Speicherplatz oder ähnliches?
Auf jeden Fall wird nur eine If Then Zeile benötigt ;)
Die Zeile For ze = 7 To Cells(Rows.Count, 1).End(xlUp).Row funktioniert auch ohne die Variablendefinition Dim ze As Long.
Hat die Definition auch den Hintergrund Speicherplatz oder ähnliches?
Einen schönen Sonntag und viele Grüße,
Patrick
Anzeige
AW: VBA: Wert kopieren wenn Bedingungen erfü
18.07.2021 14:02:53
JoWE
Hallo Patrick,
die Dimensionierung der Variablen mache ich eigentlich immer.
Der Code ist so erstellt, damit er möglichst einfach ist und auch einfach zu verstehen ist.
Gruß
Jochen

314 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige