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

Zeilen-und Zellenanwahl mit Variablen

Zeilen-und Zellenanwahl mit Variablen
10.08.2005 18:52:38
reiner
Hallo Leute,
durch eine IF-Abfrage wird mit Hilfe einer Variablen [varZeile] eine (evtl. auch mehrere) Tabellenzeile(n) markiert. “If varZeile "" Then Range(varZeile).Select”
Wie müsste der Programmcode lauten, damit in der(den) markierten Zeile(n) die Zelle in der 3.Spalte in roter Farbe markiert wird?
Gruß Reiner

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Cells(VarZeile,3).Interior.Colorindex = 3 o.T.
10.08.2005 19:32:01
Ramses
...
AW: Cells(VarZeile,3).Interior.Colorindex = 3 o.
10.08.2005 20:34:51
reiner
hallo ramses,
ich erhalte eine Fehlermeldung: „Laufzeitfehler13; Typen unverträglich“; eine falsche Variablendeklaration scheidet als Ursache ebenfalls aus, woran könnte es denn nun noch liegen?
gruß reiner
AW: Cells(VarZeile,3).Interior.Colorindex = 3 o.
10.08.2005 20:50:58
Ramses
Hallo
"...eine falsche Variablendeklaration scheidet als Ursache ebenfalls aus..."
Glaub mir,... der Code funktioniert :-)
Probiers aus

Sub Demo()
Dim VarZeile as Integer
Varzeile = 3
Cells(VarZeile,3).Interior.Colorindex = 3
End Sub

Gruss Rainer
AW: Cells(VarZeile,3).Interior.Colorindex = 3 o.
10.08.2005 21:56:32
reiner
hallo ramses,
Dein Code funktioniert einwandfrei, aber ich immer noch das gleich Problem.
Ich habe mir das Makro im Einzelschrittmodus durchlaufen lassen und in der Codezeile mit der Variablen bekam ich beim Herüberfahren mit der Maus die Information: varzeile="$9:$9,$11:$11"
das heißt die Zeile wird übergeben mit „$9:$9“, hier liegt wohl das Problem.
gruß reiner
Anzeige
AW: Cells(VarZeile,3).Interior.Colorindex = 3 o.
10.08.2005 22:04:50
Ramses
Hallo
Dann ist deine Variable kein Integer-Wert !
Damit kannst du keine einzelnen Zeilen oder Zellen adressieren.
Ändere den Variablenwert oder lass die einzelenen Zellen auswählen.
Gruss Rainer
AW: Cells(VarZeile,3).Interior.Colorindex = 3 o.
10.08.2005 23:56:25
reiner
hallo ramses,
zunächst vielen Dank für Deine bisherige Geduld, aber leider hat auch der letzte Vorschlag nicht geholfen.
Hier zur Information der funktionierende Programmcode zur MIN-MAX-Markierung ganzer Zeilen:
varzeile = ""
For vSchleifeMin = vAnfang.Row To vEnde.Row (frei wählbarer Zeilenbereich)
If Cells(vSchleifeMin, 3) = WorksheetFunction.Min(Bereich3) Then
varzeile = varzeile & "," & Rows(vSchleifeMin).Address
End If
ActiveCell.Offset(1, 0).Select
Next vSchleifeMin
varzeile = Mid(varzeile, 2) Beispiel für varzeile: „$9:$9“
If varzeile "" Then Range(varzeile).Select
wenn "varzeile as String" deklariert ist, funktioniert die MIN- und die entsprechend aufgebaute MAX- Zeilenmarkierung. Wird "varzeile as integer" deklariert, funktioniert dieser Code nicht mehr. Selbst eine Variant-Deklaration löst das Problem nicht.
Der Inhalt der Variablen enthält die Information z.B. „Zeile 9 : Zeile 9“ („$9:$9“) passt diese Bezeichnung mit Deinem Vorschlag überein?
Der in Spalte 3 enthaltene Wert zu markierende Wert lautet z.B.: „15,9 °C“
es wäre schön wenn Du noch einen Vorschlag auf Lager hastm wenn nicht muss ich vielleicht einen ganz anderen Lösungsweg suchen.
gruß reiner
Anzeige
AW: Cells(VarZeile,3).Interior.Colorindex = 3 o.
11.08.2005 00:09:56
Ramses
Hallo
1. Stehen die zu suchenden Minimal Werte nur in Spalte C ?
2. Ist der Bereich egal wo die Minimalwerte stehen ?
Gruss Rainer
AW: Cells(VarZeile,3).Interior.Colorindex = 3 o.
11.08.2005 00:20:29
reiner
hallo ramses,
sowohl die MIN- als auch die MAX-Werte stehen in Spalte C.
Wäre es eine Möglichkeit die Zeilenummern der markierten Zeilen auszulesen und sie der Variablen zu übergeben, wenn es nicht gelingt die Zeilenummer wie angegeben ($9:$9, $10:$10) über die Variable weiter zu reichen?
gruß reiner
AW: Cells(VarZeile,3).Interior.Colorindex = 3 o.
11.08.2005 10:11:16
Ramses
Hallo
Sub ColMinVal()
    Dim i As Integer, colN As Integer
    '3 = Spalte C
    colN = 3
    For i = 1 To Cells(Rows.Count, colN).End(xlUp).Row
        If Cells(i, colN) = WorksheetFunction.Min(Range(Cells(1, colN), Cells(Rows.Count, colN))) Then
            Cells(i, colN).Interior.ColorIndex = 3
        End If
    Next i
End Sub

Damit markierst du alle Min-Werte in Spalte C
Gruss Rainer
Anzeige
AW: Cells(VarZeile,3).Interior.Colorindex = 3 o.
11.08.2005 16:39:10
reiner
Hallo Ramses,
danke für den letzten Vorschlag; er funktioniert bestens.
Ich habe diesen Code in den bereits vorhandenen Code eingearbeitet und bin jetzt damit zufrieden.
Ein Problem fiel mir noch auf, hat aber wohl nichts mit dem bisherigen zu tun. Bei der MIN- und MAX-Ermittlung kann es vorkommen dass sehr viele Zeilen den gleichen MIN-oder MAX-Wert aufweisen.
Wie schon gesagt, die Variable „varzeile“ enthält die Informationen über die zu markierenden Zeilen in der Form: („$9:$9“,....) bei einer Anzahl mit mehr als 40 zu markierenden Zeilen scheint die Variable überfordert zu sein, es folgt eine Fehlermeldung.
Ist das Speichervermögen einer Variablen begrenzt? Kann man es erweitern?
Gruß Reiner
Anzeige

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige