Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Programmablaufplan + Userform

Forumthread: Programmablaufplan + Userform

Programmablaufplan + Userform
30.06.2007 10:44:26
Bernd
Hallo,
ich habe die Aufgabe bekommen ein Programmentwurf, sowie einen Programmablaufplan zu erstellen.
Das Programm soll im Bereich A1 bis D10 alle schwarzen, weißen, roten und leeren Zellen (Hintergrundfarben) erkennen und in einer MSGbox ausgeben wieviele Zellen die jeweilige Farbe haben.
Die Aufgabe war nicht so sehr schwer, da die Arbeit aber benotet wird wäre ich jedem sehr dankbar, der mir sagen könnte, ob mein Programmablaufplan dazu passt, oder ob es noch verbesserungsmöglichkeiten gibt.
Zudem wollte ich noch fragen, wie ich die Ausgabe der Ergebnisse in einer Userform realisiern kann.
https://www.herber.de/bbs/user/43708.zip
Vielen Dank im Voraus
Mfg Bernd

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Programmablaufplan + Userform
30.06.2007 11:17:00
ransi
HAllo Bernd
Da hast du dir aber echt Mühe gegeben.
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit
Private Sub Farben_Zaehlen_Click()
'Variablen deklarieren
Dim Zelle As Range
Dim schwarz%, weiß%, rot%, andere%, leer%
Dim Bereich As Range
Dim i As Integer
Set Bereich = Range("a1:d10")
For Each Zelle In Bereich
    Select Case Zelle.Interior.ColorIndex
        Case 1: schwarz = schwarz + 1
        Case 2: weiß = weiß + 1
        Case 3: rot = rot + 1
        Case Is > 3: andere = andere + 1
    End Select
    'Dabei wird die Anzahl der auftretenden Hintergrundfarben
    'den Variablen zugewiesen.
    'Die Anzahl der leeren Zellen entspricht der Zellenzahl im aktiven
    'Bereich abzüglich der einzelnen Variablenwerte.
Next
'Es reicht wenn leer 1X berechnet wird.
'Darum aus der Schleife rausgenommen.
leer = Bereich.Count - schwarz - weiß - rot - andere
i = MsgBox("Schwarz: " & schwarz & Chr(10) & _
    "Weiß: " & weiß & Chr(10) & _
    "Rot: " & rot & Chr(10) & _
    "Andere:" & andere & Chr(10) & _
    "Leer:" & leer, , "Anzahl der farbigen Zellen")
'In einem Meldungsfenster wird das Ergebnis ausgegeben.
If i = 1 Then ActiveWorkbook.Close False
'Application.DisplayAlerts = False ist übel.
'damit schaltest du alle Warnmeldungen in allen Geöffneten Arbeitsmappen weg.
'Das ist bestimmt nicht gewollt.
End Sub
Private Sub Programmablauf_Click()
Sheets("Programmablaufplan").Select
End Sub

Der ABlaufplan passte, bis auf die Berechnung von leer.
Im Ablaufplan hattest du das ausserhalb der Schleife gemacht, im Code aber nicht.
Schau dir auch mal sie select case-struktur an.
ransi

Anzeige
AW: Programmablaufplan + Userform
30.06.2007 11:48:19
Bernd
Vielen Dank für die schnelle Hilfe!
Gruß bernd
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige