ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
305
305
EMPFEHLEN
-
Hallo,
ich habe folgendes Problem:
Ich soll ein Makro schreiben, dass eine Range einliest und dort hochzählt wie viele Zellen blau, rot und grau sind. Das Problem ist, dass die Anzahl der zu zählenden Zellen nich gleich ist.
So muss ich nun beim Prozeduraufruf die Range (Bsp: I5:K5) übergeben und in der Prozedur mit einer Schleife die Farbwerte hochzählen.
Ich bin ziemlich neu in der VBA-Programmierung und weiß nicht:
- wie ich die Farbwerte der Zellen an die Prozedur übergeben kann
- wie ich die Anzahl der zu zählenden Zellen herausfinde und die Zelle I5 in einer Schleife dann zu J5 hochzählen soll
Ich hoffe ihr könnt mir helfen.
-
Ok ich bin jetzt soweit, dass er zählt und vergleicht.
Jetzt muss ich nur noch die Zelle ("C1") durch eine Variable, die beim Prozeduraufruf in die Klammern geschrieben wird ersetzen. Wie schreibe ich das genau aus?
Kriege da immer fehler.
Oder kann ich den Aufruf so schreiben?
Count ("C1")
und dann in der Prozedur
Sub Count(ausgangszelle)
Sub Count()
'
' Makro1 Makro
'
Dim ZellenInhalt As String
ZellenInhalt = Range("C1").Interior.Color
Dim x As Integer
Dim y As Integer
Dim red As Integer
Dim green As Integer
Dim grey As Integer
Dim blue As Integer
x = 0
y = 7
red = 0
'+++++++++++++++++++-Counter-++++++++++++++++++++++
For x = 1 To y
If Range("C1").Offset(0, x).Interior.Color = 255 Then red = red + 1 _
Else If Range("C1").Offset(0, x).Interior.Color = 65280 Then green = green + 1 _
Else If Range("C1").Offset(0, x).Interior.Pattern = xlChecker Then grey = grey + 1 _
Else If Range("C1").Offset(0, x).Interior.Color = 12611584 Then blue = blue + 1
Next x
Range("A6") = red
Range("A7") = green
Range("A8") = grey
Range("A9") = blue
'+++++++++++++++++++-IF THEN-++++++++++++++++++++++
'Set pattern to "none"
Range("C1").Offset(0, -2).Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ColorIndex = xlAutomatic
.TintAndShade = 0
.PatternTintAndShade = 0
End With
If red > 0 Then Range("C1").Offset(0, -2).Interior.Color = 255 _
Else If grey = y Then Range("C1").Offset(0, -2).Interior.Pattern = xlChecker _
Else If green > 0 Then Range("C1").Offset(0, -2).Interior.Color = 65280 _
Else If blue = y Then Range("C1").Offset(0, -2).Interior.Color = 12611584 _
Else Range("C1").Offset(0, -2).Interior.Pattern = xlChecker
Range("O5").Interior.Color = 12611584
'
End Sub
Ähnliche Themen
-
## Vektor an eine Prozedur übergeben- ohne Einsatz von 'var' ? ! ? ! ?
Von webcamping im Forum Delphi, Kylix, PascalAntworten: 2Letzter Beitrag: 20.05.10, 14:33 -
Wegfindung bei Gebiet aus Zellen => alle Zellen durchlaufen
Von amArsch2 im Forum .NET CaféAntworten: 2Letzter Beitrag: 25.03.10, 12:52 -
Oracle 9i : Prozedur in Php
Von cemiboy im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 11.07.08, 08:51 -
Click Prozedur innerhalb einer anderen Prozedur aufrufen?!
Von Blaubmania im Forum Visual Basic 6.0Antworten: 1Letzter Beitrag: 21.09.06, 12:55 -
prozedur in prozedur
Von DarkListener im Forum Delphi, Kylix, PascalAntworten: 2Letzter Beitrag: 02.05.02, 21:47





Zitieren
Login





