Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1492to1496
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
WENN-Funktion mit "DANN"-Wert in anderer zelle
12.05.2016 11:12:15
Boory
Hallo Forum,
und schon wieder ich... :)
ich muß das Ergebnis einer WENN-Abfrage in eine andere zelle schreiben, als die, in der die Formel steht. Also:
Formel steht in L3:

=WENN(ODER(C3="U";C3="F";C3="K";C3="Ü";A3="";(WOCHENTAG(A3;2)>5));D3=0;D3="")

Wie man erkennen kann, soll bei Zutreffen der Wert Null in die Zelle D3 geschrieben werden, bei NICHT-Zutreffen soll D3 leer bleiben.
Das muss so realisiert werden, da in der Spalte "D" per VBA mit "erste_freie_Zeile" abgefragt und eingetragen wird.
Leider bekomme ich zwar in L3 die Augabe "WAHR", aber in D3 keinerlei Eintrag.
Was habe ich übersehen oder falsch gemacht?
Schon mal vielen Dank - Boory

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: und warum ...
12.05.2016 11:27:03
...
Hallo Boory,
... schreibst Du in D3 nicht:

=WENN(ODER(C3="U";C3="F";C3="K";C3="Ü";A3="";(WOCHENTAG(A3;2)>5));0;"")

Gruß Werner
.. , - ...

AW: und warum ...
12.05.2016 11:49:09
Boory
Hallo Werner,
mach ich nicht, weil - steht in meinem Post - die Spalte "D" leer sein muß. Siehe:
Das muss so realisiert werden, da in der Spalte "D" per VBA mit "erste_freie_Zeile" abgefragt  _
und eingetragen wird.

Wenn eine Formel da drin steht, ist die zelle ja nicht mehr leer und der VBA-Code funktioniert nicht mehr...
Ich lade die Datei mal hoch. Vielleicht wird es dann klarer. Die Zellen in den Spalten "D" und "E" werden per transponder-Scan über die Userforms befüllt und sind in der finalen Version gesperrt. Die Spalten "J" bis "M" werden ausgeblendet.
https://www.herber.de/bbs/user/105528.xlsm

Anzeige
AW: ich stell den thread offen ...
12.05.2016 12:04:52
...
Hallo Boory,
... für mich ist da ein Widerspruch. Einerseits sollen nach Deinen Aussagen die Zellen der Spalte D leer sein, andererseits soll dann dort in Abhängigkeit von verschiedenen Bedingungen entweder =0 oder ="" drin stehen.
Mit (D)einer Formellösung ist das von Dir angedachte jedenfalls nicht realisierbar.
Aus VBA-Lösung halte ich mich außen vor. Deshalb stelle ich den thread offen.
Mit Formel

so ein Quatsch
12.05.2016 12:27:28
Rudi
Hallo,
wenn am WE nicht gearbeitet wurde und am Montag kommen gebucht wird, landet das auf Samstag?
Gruß
Rudi

AW: so ein Quatsch
12.05.2016 13:09:36
Boory
Hallo Rudi,
genau so ist das! Und deshalb soll ja auch über die WENN / ODER - Abfrage eben diese NULL eingetragen werden, damit eben NICHT nach Freitag der Samstag, sondern der Montag hergenommen wird.

Anzeige
AW: und warum ...
12.05.2016 12:36:56
MB12
Hallo Boory,
ohne nachzusehen: (WOCHENTAG(A3;2)>5) verweist m.E. auf >Freitag
"2" bedeutet zählen ab Montag, da Standard So=1
Gruß
Margarete

AW: und warum ...
12.05.2016 13:15:18
Boory
Ja, aber

>5
verweist dann doch auf Samstag / Sonntag - oder hab ich das Konzept komplett falsch verstanden...? :o)

siehe Antwort von Rudi....
12.05.2016 13:33:56
Rudi....
oder ich habe dein Ziel falsch verstanden
Gruß
Margarete

AW: WENN-Funktion mit "DANN"-Wert in anderer zelle
12.05.2016 12:52:55
selli
hallo,
und warum fragst du nicht nach value in D?
dim zelle as range
for each zelle in range("D1:D5000")
if zelle.value "" then
letzteZeile=zelle.row
exit for
end if
next
gruß
selli

Anzeige
AW: WENN-Funktion mit "DANN"-Wert in anderer zelle
12.05.2016 13:18:34
Boory
Hallo Selli,
öhm... Ganz ehrlich, steig ich da jetzt aus...
Ich wollte das über die Formel und die WENN-Funktion lösen, weil ich so tief in VBA nicht drin bin...
Vielleicht, wenn Du mir das mal auseinanderlegen kannst...? Ich kopier ungerne irgendwas, von dem ich nicht wirklich verstanden habe, was es tut. Man(n) versucht ja zu lernen... :o)
Gruß Boory

AW: WENN-Funktion mit "DANN"-Wert in anderer zelle
12.05.2016 13:28:45
selli
hallo
also du schreibst:
da in der Spalte "D" per VBA mit "erste_freie_Zeile" abgefragt und eingetragen wird
der code von mir ist nur ein beispiel, wie man die erste freie zelle in D ermitteln kann.
dazu wird jede zelle in diesem bereich abgefragt, ob der wert "" ist.
da das ganze von oben nach unten läuft, ist die erste zelle mit "" folglich auch die, die du neu bestücken kannst.
die reihe (row) wird der variablen letzteZeile übergeben und kann beim beschreiben verwendet werden.
cells(letzteZeile,4)=....
gruß
selli

Anzeige
AW: WENN-Funktion mit "DANN"-Wert in anderer zelle
12.05.2016 14:23:12
Boory
Hallo Selli,
DAS ist ja nicht mein Problem! Ich hab die Datei ja hochgeladen - schau mal rein... :o)
Mein Problem ist, dass ich die Spalte "D" an Feiertagen, Urlaub, Krank und Überstunden-Abbau quasi "blockieren" muss, damit mir eben mit "erste_freie_Zeile" NICHT z.B. nach Freitag der Samstag eingetragen wird, sondern der Montag. Somit soll - nach der von mir angedachten WENN-Funktion bei einem dieser "Events" un die Spalte "D" (und auch "E") immer dann eine NULL eingetragen werden, wenn eben KEIN ARBEITSTAG ist. Somit rutscht dann meine VBA-Abfrage (siehe Datei) an die nächste Zeile, die KEINE NULL drin hat. Das automatische Suchen einer freien Zeile funktioniert ja bereits.
Oder habe ich Dich jetzt komplett falsch verstanden...?
Gruß - Boory

Anzeige
AW: WENN-Funktion mit "DANN"-Wert in anderer zelle
12.05.2016 15:00:22
UweD
Hallo
Kannst du das denn nicht im Makro abfangen?
hier aus Samstag / Sonntag prüfen...
...
erste_freie_Zeile = Sheets("Erfassung").Range("E33").End(xlUp).Offset(1, 0).Row
Select Case Weekday(Cells(erste_freie_Zeile, 1), vbMonday)
Case 6: erste_freie_Zeile = erste_freie_Zeile + 2
Case 7: erste_freie_Zeile = erste_freie_Zeile + 1
End Select
...
Private Sub CommandButton1_Click()
'Variable deklarieren
Dim erste_freie_Zeile As Integer
'erste freie Zeile in Blatt "Erfassung" ermitteln
'und in Variable "erste_freie_Zeile" schreiben
erste_freie_Zeile = Sheets("Erfassung").Range("E33").End(xlUp).Offset(1, 0).Row
Select Case Weekday(Cells(erste_freie_Zeile, 1), vbMonday)
Case 6: erste_freie_Zeile = erste_freie_Zeile + 2
Case 7: erste_freie_Zeile = erste_freie_Zeile + 1
End Select
'In Blatt "Erfassung"
'Spalte A, erste freie Zeile das Datum im Datumsformat übertragen
Sheets("Erfassung").Cells(erste_freie_Zeile, 5) = Format(TextBox1.Text)
'End With
Unload Me
End Sub
Gruß UweD

Anzeige
AW: WENN-Funktion mit "DANN"-Wert in anderer zelle
13.05.2016 07:59:19
Boory
Hallo Uwe,
DAS war die Lösung! Auf die Möglichkeit, das ganze über "SELECT" abzufangen, bin ich nicht gekommen. Dafür reicht's bei mir in VBA leider nicht. Ich würde mich sehr gerne mehr damit beschäftigen, aber mir fehlt leider die Zeit.
Ganz lieben Dank an Dich! Das ist für mich die praktikabelste Lösung!
Getestet und für super befunden! :o) Der Thread kann geschlossen werden.
@all: Danke für Eure Hilfe und Unterstützung! Wie immer: SUPER FORUM!!!
Boory

Danke für die Rückmeldung owT
13.05.2016 09:14:36
UweD
c

AW: WENN-Funktion mit "DANN"-Wert in anderer zelle
12.05.2016 15:12:27
Rudi
Hallo,
ich würde das ein- und ausloggen einfach in die Zeile mit dem aktuellen Tagesdatum eintragen.
Gruß
Rudi

Anzeige
AW: WENN-Funktion mit "DANN"-Wert in anderer zelle
13.05.2016 06:46:33
Boory
Hallo Rudi,
sorry, aber ich verstehe jetzt nicht ganz, was Du meinst...? Einfach nur in die zelle eintragen ist die Version, die momentan "in Betrieb" ist. das soll ja eben, weil die Zellen für den direkten Eintrag gesperrt werden sollen durch die Userforms ersetzt werden.
Gruß Boory

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige