Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
776to780
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
776to780
776to780
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makroprogrammierung

Makroprogrammierung
05.07.2006 15:18:21
Jens
Hallo.
Ich habe folgende zwei Probleme:
1: Ich kenne mich mit Scripts, Makros etc nicht wirklich aus
2: Ich brauche aber eins.
Ich habe eine Excel-Tabelle mit lauter Verfallsdaten. Diese sind per Gültigkeitsprüfung einer Liste zu entnehmen wenn man draufklickt.
Sprich also: Es steht zum Beispiel Joghurt da, daneben das Feld und klickt man drauf erscheint:
01/2007
02/2007 usw...
Nun hätte ich gerne, dass mir Excel beim Start eine Meldung gibt und mir sagt, welche Dinge Abgelaufen sind, oder nächsten Monat ablaufen. Ideal wäre es sogar, wenn es mir die entsprechenden Felder markieren könnte.
Ist sowas möglich, kann mir da jemand helfen?
Vielen Dank!

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makroprogrammierung
05.07.2006 15:27:53
Manfred
Hallo Jens,
ich würde es mal mit der bedingten Formatierung versuchen. Du könntest dir damit die verschiedenen Haltbarkeitsdaten mittels unterschiedlicher Farben anzeigen lassen.
Schau doch mal im folgenden Thread, ob dir das weiterhilft.
Ich denke so in die Richtung:
Haltbarkeit älter als Heute = rot
oder Heute + 30 Tage = grün
https://www.herber.de/forum/archiv/776to780/t778894.htm
Gruß Manfred
AW: OHNE Makroprogrammierung
05.07.2006 15:48:57
UweD
Hallo
Hier ein Beispiel ohne Makros nur mit bedingter Formatierung
für Zelle B2 so einrichten und mit Pinsel nach unten übertragen
 
 AB
1WareHaltbar
2Joghurt01/2006
3Brot01/2006
4Suppe02/2006
5Wurst03/2006
6Obst07/2006
7Fisch09/2006
Bedingte Formatierungen der Tabelle
ZelleNr.: / BedingungFormat
B21. / Formel ist =UND(B2<=DATUM(JAHR(HEUTE());MONAT(HEUTE())+1;1);B2>=DATUM(JAHR(HEUTE());MONAT(HEUTE());1))Abc
B22. / Formel ist =B2<=DATUM(JAHR(HEUTE());MONAT(HEUTE());1)Abc
 

Dabei ist Rot bereits abgelaufen und orage, läuft innerhalb des nächsten Monats ab
Wichtig:
Die Verfallsdaten müssen 01.02.2006 eingegeben werden (Darstellung über Zellformat)
Gruß UweD
(Rückmeldung wäre schön)
Anzeige
AW: OHNE Makroprogrammierung
05.07.2006 16:20:08
Jens
OK, das ist schonmal super, vielen Dank. Habe wahrscheinlich wieder viel zu kompliziert gedacht..
Das Problem ist nur, dass das Dokument sehr sehr lang ist und ich dem Benutzer eigentlich ersparen wollte, das ganze Dokument erst durch suchen zu müssen. Deshalb wäre mir eine kleine Messagebox oder ähnlich am Anfang lieb gewesen.
Ist das noch zu machen?
AW: mit Makroprogrammierung
05.07.2006 17:03:47
UweD
Hallo
so...
Code muß in "Diesearbeitsmappe"

Private Sub Workbook_Open()
On Error GoTo Fehler
Dim SP%, LR&, TB1, i&, ABG$, Bald$
Set TB1 = Sheets("Tabelle1")
SP = 1 'Spalte A
LR = TB1.Cells(Rows.Count, SP).End(xlUp).Row 'letzte Zeile der Spalte
For i = 2 To LR
If TB1.Cells(i, SP + 1) <= DateSerial(Year(Date), Month(Date), 1) Then
ABG = ABG & vbLf & Cells(i, SP).Value & " aus Zeile " & i
ElseIf TB1.Cells(i, SP + 1) <= DateSerial(Year(Date), Month(Date) + 1, 1) _
And TB1.Cells(i, SP + 1) >= DateSerial(Year(Date), Month(Date), 1) Then
Bald = Bald & vbLf & Cells(i, SP).Value & " aus Zeile " & i
End If
Next
If ABG <> "" Or Bald <> "" Then
MsgBox "abgelaufen sind:" & vbLf & ABG & vbLf & vbLf & vbLf & _
"demnächst fällig sind:" & vbLf & Bald, , "Verfallsdaten prüfen"
End If
Fehler:
If Err.Number <> 0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description
End Sub

Gruß UweD
(Rückmeldung wäre schön)
Anzeige
AW: mit Makroprogrammierung
07.07.2006 12:19:48
Jens
Hallo!
Das hat schonmal super geklappt, vielen Dank. Nun habe ich nur noch das Problem, dass ich auch leere Zellen dazwischen habe. Wie ignoriere ich diese Zellen?
Ich habe auch einen anderen Weg versucht. Ich habe das ganze nun mit bedingter Formatierung versucht und danach den VBA-Code so umzuändern versucht, dass er mir sagt welche Zellen beispielsweise rot sind (nach der bed. Formatierung). Das hat aber auch nicht so ganz geklappt..
Danke, ciaoi
AW: mit Makroprogrammierung
07.07.2006 15:18:10
UweD
Hallo
habs noch erweitert.


      
Private Sub Workbook_Open()
    
On Error GoTo Fehler
    
Dim SP%, LR&, TB1, i&, ABG$, Bald$
    
Set TB1 = Sheets("Tabelle1")
    SP = 1 
'Spalte A
    LR = TB1.Cells(Rows.Count, SP).End(xlUp).Row 'letzte Zeile der Spalte
    Bald = ""
    ABG = 
""
    
For i = 2 To LR
        
With TB1.Cells(i, SP + 1)
            
If .Value <> "" Then ' nur weiter, wenn gefüllt
                If .Value <= DateSerial(Year(Date), Month(Date), 1) Then
                    ABG = ABG & vbLf & TB1.Cells(i, SP).Value & 
" aus Zeile " & i
                
ElseIf .Value <= DateSerial(Year(Date), Month(Date) + 1, 1) _
                    
And .Value >= DateSerial(Year(Date), Month(Date), 1) Then
                        Bald = Bald & vbLf & TB1.Cells(i, SP).Value & 
" aus Zeile " & i
                
End If
            
End If
        
End With
    
Next
    
If ABG <> "" Or Bald <> "" Then
        MsgBox 
"abgelaufen sind:" & vbLf & ABG & vbLf & vbLf & vbLf & _
            
"demnächst fällig sind:" & vbLf & Bald, , "Verfallsdaten prüfen"
    
End If
Fehler:
    
If Err.Number <> 0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description
End Sub 


Gruß UweD
(Rückmeldung wäre schön)
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige