Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1308to1312
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
Inhaltsverzeichnis

Vergleiche Daten in vorangeganger Spalte mit <

Vergleiche Daten in vorangeganger Spalte mit <
25.04.2013 11:50:56
Julia
Hi!
ich komme einfach nicht weiter... :
ich möchte Daten in 2 Spalten vergleichen A1, B1, manchmal steht dabei auch ein Dabei soll dann die Zeile B1 rot markiert werden wenn B1 > 2* A1 ist. soweit so gut, funktioniert immer, außer es steht in beiden Zeilen ein

Public Sub Vergleich_Cells()
a = Cells(1, 1)
b = Cells(1, 2)
If Left(a, 1) = "= a * 2 Then
Cells(1, 2).Interior.Color = vbRed
End If
End Sub

ich habe eine einfache Beispieldatei auch inklusive Code angehängt https://www.herber.de/bbs/user/85053.xlsx
hoffe es findet jemand den fehler, anscheinend seh ich den Wald vor lauter bäumen nicht...
Danke,
Lg
Julia

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Vergleiche Daten in vorangeganger Spalte mit <
25.04.2013 12:21:01
hary
Moin
Versuch mal.
Dim a As Double
Dim b As Double
a = Application.Substitute(Cells(1, 1), "= a * 1.9 Then
Cells(1, 2).Interior.Color = vbRed
Else
Cells(1, 2).Interior.Color = xlNone
End If

gruss hary

AW: Vergleiche Daten in vorangeganger Spalte mit <
25.04.2013 12:47:01
Julia
Yeah!
Super! das funktioniert perfekt!
lieben lieben dank für die schnelle hilfe!
Lg
Julia

AW: Vergleiche Daten in vorangeganger Spalte mit <
25.04.2013 16:22:41
Julia
ich muss leider nochmal nachfragen: ich wollte den oben stehenden code so erweitern, dass ich nicht nur "A1" mit "B1" vergleiche, sondern über eine Schleife durch eine Reihe bis nix mehr drinnen steht.
dachte an:
Public Sub Vergleich_Cells()
Dim a As Double
Dim b As Double
for j= 1 to 9 'Bsp bis spalte 9
a = Application.Substitute(Cells(1, j), "<", "")
b = Application.Substitute(Cells(1, j+1), "<", "")
If b >= a * 1.9 Then
Cells(1, j+1).Interior.Color = vbred
Else
Cells(1, j+1).Interior.Color = xlNone
End If
next j</i>
aber das funzt nicht .... markiert immer meine ganze zeile rot, egal was drinnen steht...
wichtig wäre auch, dass in den zellen das "kleiner" zeichen erhalten bleibt, da es sich um Analysedaten handelt....
ich werd noch zum Elch :(
Danke schonmal für alle Tips,
Lg
Julia

Anzeige
AW: Vergleiche Daten in vorangeganger Spalte mit <
25.04.2013 17:01:30
hary
Hallo
Also wenn ich diesen Code rueberlaufen lasse:
Dim a As Double
Dim b As Double
Dim j As Long
For j = 1 To 9 'Bsp bis spalte 9
a = Application.Substitute(Cells(1, j), "= a * 1.9 Then
Cells(1, j + 1).Interior.Color = vbRed
Else
Cells(1, j + 1).Interior.Color = xlNone
End If
Next j
sieht es so aus.
Tabelle1
 ABCDEFGHIJ
1<11<3<2<37<5<6<7<8

Tabellendarstellung in Foren Version 5.30


Mal eine Bsp.-Mappe hochladen.
"dass in den zellen das "kleiner" zeichen erhalten bleibt"
der Code entfernt das kleiner Zeichen nur innerhalb des Codes. Ruehrt die Zellen nicht an.
gruss hary

Anzeige
AW: Vergleiche Daten in vorangeganger Spalte mit <
25.04.2013 17:10:22
Julia
Hi Harry!
also, das funktioniert bei mir jetzt auch :) kann das daran liegen, dass ich "j" nicht deklariert hatte?
ich bekomme derzeit auch noch einen Laufzeitfehler "Typenunverträglichkeit" bei b, aber das liegt sicher daran, dass ich nach der 9. Spalte nix mehr stehen habe, oder? ich hab die Datei nochmal angehängt, einfach alle meine kläglichen Versuche ignorieren :)

Die Datei https://www.herber.de/bbs/user/85068.xlsm wurde aus Datenschutzgründen gelöscht


DANKE für die super schnellen und hilfreichen Antworten!

Anzeige
AW: Vergleiche Daten in vorangeganger Spalte mit <
25.04.2013 17:30:09
hary
Hallo
Wenn in Zeile 1 nur die zu vergleichenden Zahlen stehen. Variable sollten schon deklariert sein. Kann man grundsaetzlich einstellen Alt+F11 im VBA-Editor/Extras/Optionen/Editor/Variablendeklaration erfordlich einen Haken setzen
Dim a As Double
Dim b As Double
Dim j As Long
Dim letzteSpalte As Long
letzteSpalte = Cells(1, Columns.Count).End(xlToLeft).Column - 1 'immer eine Spalte weniger
For j = 1 To letzteSpalte 'Bsp bis spalte 9
a = Application.Substitute(Cells(1, j), "= a * 1.9 Then
Cells(1, j + 1).Interior.Color = vbRed
Else
Cells(1, j + 1).Interior.Color = xlNone
End If
Next j

gruss hary

Anzeige
AW: Vergleiche Daten in vorangeganger Spalte mit <
26.04.2013 07:40:24
Julia
Hi!
nochmals danke für die rasche antwort, das klappt einwandfrei, außer wenn ich mit sehr kleinen Zahlen arbeite zb:
0,008 0,008 0,01 <0,01 0,01 0,01 <0,005 0,005 <0,005 <0,005 <0,005 0,009 0,009
dann markiert Excel werte größer dem Vorwert, die es gar nicht sind :(
aber bei den zahlen auch aus deinem Bsp funktionierts... verstehe ich nicht....
GLG
Julia

AW: Vergleiche Daten in vorangeganger Spalte mit <
26.04.2013 12:05:43
Julia
Perfekt!
weis gar nicht wie ich danken kann!!!!!
jetzt kann das WE kommen!
lieben dank und ein schönes, sonniges WE!
LG
Julia

Anzeige
AW: Vergleiche Daten in vorangeganger Spalte mit <
26.04.2013 12:09:18
Julia
Perfekt!
weis gar nicht wie ich danken kann!!!!!
jetzt kann das WE kommen!
lieben dank und ein schönes, sonniges WE!
LG
Julia

Ebenso schoenes WE gruss owT
26.04.2013 12:12:01
hary
.

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige