Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Wenn Dann Funktion in Excel

Frage Microsoft Microsoft Office

Mitglied: donnerkai

donnerkai (Level 1) - Jetzt verbinden

25.05.2012 um 10:26 Uhr, 4622 Aufrufe, 9 Kommentare

Hallo und guten Morgen,

ich habe keinerlei Excel Erfahrung, das mal vorweg.
Nun habe ich eine Zelle so formatiert, dass sie eine Dropdown Auwahl enthält. Das funktioniert auch.
Nun würde ich gerne eine Wenn Dann Funktion ergänzen.

Sinn und Zweck: Die Liste steht mehreren Usern zur Verfügung. Wenn ein User den Wert der Zelle von
"offen" auf "in Bearbeitung" oder "Zurückgestellt" ändert, soll automatisch das aktuelle Datum in ein Nachbarfeld gesetzt werden.

also quasi. wenn Zellenwert ungleich "offen" dann setze aktuelles Datum in Nachbarfeld.

Kann ich das mit Excel irgendwie realisieren?

Vielen Dank
Mitglied: mak-xxl
25.05.2012, aktualisiert um 11:08 Uhr
Moin donnerkai,

wenn die Worte so in der Zelle stehen (i.e. 'A1'), dann kommt in Zelle 'B1':

=WENN(UND($A1<>"offen";$A1<>"");HEUTE();"")
Zellen bzw. Spalte 'B' als Datum formatieren.
ABER: Das Datum wird bei jedem späteren Öffnen der Mappe aktualisiert! Sollte das von Bedeutung sein, kann man per VBA (gekoppelt an DropDown) den Datumswert eintragen lassen ...

Freundliche Grüße von der Insel - Mario
Bitte warten ..
Mitglied: donnerkai
25.05.2012 um 11:16 Uhr
Ok, dann bringt mir das natürlich nichts. Dann müsste ich die VBA Variante nehmen.
Ich habe auch dafür schon einen Code gefunden:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim RaBereich As Range
' abbrechen, wenn erste Zeile oder mehr als eine Zelle aktiv
If Target.Row < 2 Or Target.Count > 1 Then Exit Sub

'für Änderungen in E2 bis E50. Ggf anpassen
Set RaBereich = Range("E2:E50")
Application.EnableEvents = False

'bei Änderung eine Zelle rechts davon Datum und Uhrzeit eintragen
If Not Intersect(Target, RaBereich) Is Nothing Then
Target.Offset(0, +1) = Format(Now, "dd.mm.yyyy_hh:mm:ss")
End If

Application.EnableEvents = True
Set RaBereich = Nothing

End Sub


Funktioniert leider nicht.
ich habe den Code aus einem anderen Forum, wo die User allerdings schreiben, dass es funktioniert.

Mache ich Fehler beim Ablauf? Ich mache einen Rechtsklick auf die Tabelle und gehe auf Code anzeigen. Dann kopiere ich den oben stehenden Code und speichere.
Wenn ich nun die Werte in bsp: e30 verändere passiert mal gar nix.
Oder muss ich noch irgendeinen Zwischenschritt machen?
Bitte warten ..
Mitglied: mak-xxl
25.05.2012, aktualisiert um 11:36 Uhr
Moin donnerkai,

eher so:
01.
Private Sub Worksheet_Change(ByVal Target As Excel.Range) 
02.
    If Target.Row < 2 Or Target.Count > 1 Then Exit Sub 
03.
    Application.EnableEvents = False 
04.
    If Not Intersect(Target, Range("E2:E50")) Is Nothing Then 
05.
        If Target.Text = "Zurückgestellt" Or Target.Text = "in Bearbeitung" Then 
06.
            Target.Offset(0, 1) = Format(Now, "dd.mm.yyyy") 
07.
        Else 
08.
            Target.Offset(0, 1) = Empty 
09.
        End If 
10.
    End If 
11.
    Application.EnableEvents = True 
12.
End Sub
Den Bereich in Zeile 4 evtl. anpassen.

Freundliche Grüße von der Insel - Mario
Bitte warten ..
Mitglied: bastla
25.05.2012 um 11:48 Uhr
... und vielleicht auch noch berücksichtigen, dass die Einträge wie "in Bearbeitung" hinsichtlich der Groß-/Kleinschreibung exakt ausgewertet werden - daher etwas benutzerfreundlicher:
If LCase(Target.Text) = "zurückgestellt" Or LCase(Target.Text) = "in bearbeitung" Then
Grüße
bastla
Bitte warten ..
Mitglied: donnerkai
25.05.2012 um 11:52 Uhr
Auch hierbei kein Ergebnis wenn ich den Code einbinde.
Ich verändere die Zelle A30 und es passiert nichts!
Bitte warten ..
Mitglied: bastla
25.05.2012, aktualisiert um 12:00 Uhr
Hallo donnerkai!

Nur zur Sicherheit: Den Code hast Du hoffentlich nicht in ein Modul eingefügt, sondern der Tabelle zugeordnet (am einfachsten per Rechtsklick auf das Registerblatt der Tabelle und "Code anzeigen")?

Ansonsten siehe noch meine Anmerkung oberhalb ...

[Edit] ... und wenn Du tatsächlich die Zelle A30 änderst, wird auch nix passieren (überwacht werden E2:E50). [/Edit]

Grüße
bastla
Bitte warten ..
Mitglied: mak-xxl
25.05.2012, aktualisiert um 12:00 Uhr
Moin donnerkai,

es passiert nur etwas, wenn Du die Zellen im Bereich 'E2' bis 'E50' veränderst, wenn andere Zellen benutzt werde, musst Du in Zeile 4 des Codes selbiges anpassen.

Um zu prüfen, ob der Code überhaupt ausgeführt wird, schreibst Du als Zeile 2

MsgBox Target.Address
Es wird dann jedesmal angezeigt, in welcher Zelle etwas geändert wurde - diese Code-Zeile später wieder löschen.

Freundliche Grüße von der Insel - Mario
Bitte warten ..
Mitglied: donnerkai
25.05.2012 um 13:47 Uhr
Hab ich natürlich vorher geändert. Geht aber trotzdem nicht.
Bitte warten ..
Mitglied: donnerkai
25.05.2012 um 15:32 Uhr
Einmal geschlossen und wieder geöffnet und schon gehts.
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
gelöst Excel Dateikarte samt Funktionen kopieren (1)

Frage von Yanmai zum Thema Microsoft Office ...

Microsoft Office
gelöst EXCEL: WENN Funktion mehrfach verwenden (2)

Frage von sims zum Thema Microsoft Office ...

Microsoft Office
AutoVervollständigen Funktion funktioniert nur teilweise. Microsoft Excel 2016 (5)

Frage von AndreasFredersdorf zum Thema Microsoft Office ...

Microsoft Office
gelöst Excel 2010 Funktion ZÄHLENWENN in einer Zahlenkette (2)

Frage von yv35k0 zum Thema Microsoft Office ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(2)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (20)

Frage von Dobby zum Thema Router & Routing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (17)

Frage von liquidbase zum Thema Voice over IP ...

TK-Netze & Geräte
TK-Anlage VoIP - DECT Erweiterung (16)

Frage von Lynkon zum Thema TK-Netze & Geräte ...