Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1364to1368
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

Werte in Spalte suchen bis letzte Zeile

Werte in Spalte suchen bis letzte Zeile
04.06.2014 13:08:33
Henry
Hallo,
bin ganz stolz zu sagen haben meinen ersten kleinen VBA ohne Recorder Pipapo hingekriegt :)
Aber für die miesten hier natürlich ein lächerlicher Code ...aber für mich nicht :)
Nun der vergleicht jetzt wirklich nur eine definierte Zelle mit einer anderen.
Ich müsste diese jetzt über die gesamte Spalte U laufen lassen.
Spalte U hat immer wieder einige Leerzeilen.
Also wenn Spalte U Wert = Wert Zelle D1 + 1 dann dis das jenes...
Diese Prüfung müsste für jede Zeile in Spalte U gemacht werden.
Könnte mir da jemand helfen, bitte ?
Dim I As Long
I = Cells(1, "D").Value
If Cells(33, "U") = Cells(1, "D").Value + 1 Then
MsgBox "your test is good"
End If
End Sub

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte in Spalte suchen bis letzte Zeile
04.06.2014 13:23:30
Rudi
Hallo,
Sub aaa()
Dim rngC As Range
For Each rngC In Range(Cells(2, 21), Cells(Rows.Count, 21).End(xlUp))
If rngC = Range("D1") + 1 Then
MsgBox rngC.Address 'oder sonstwas
End If
Next
End Sub

Gruß
Rudi

AW: Werte in Spalte suchen bis letzte Zeile
04.06.2014 13:30:21
Henry
Hallo Rudi,
Danke, bekommen einen laufzeitfehler 13: Typen unverträglich.
Sorry vlcht liegt es an dem Zelleninhalt der verglichen wird ?
Also in den Zellen Stehen jeweils Kalenderwochen .

AW: Werte in Spalte suchen bis letzte Zeile
04.06.2014 13:39:34
Rudi
Hallo,
was genau steht in D1?
Gruß
Rudi

AW: Werte in Spalte suchen bis letzte Zeile
04.06.2014 13:47:36
Henry
Hallo Rudi,
in D1 steht das Ergebnis dieser Formel:
=KÜRZEN((HEUTE()-DATUM(JAHR(HEUTE()+7+3-REST(HEUTE()+7-2;7));1;REST(HEUTE()+7-2;7)-9))/7)&" "
Ergebnis = 23

Anzeige
das ist dann aber Text ...
04.06.2014 13:54:33
Matthias
Hallo
was soll denn das ...
&" "
... am Ende?
Dadurch ist es keine Zahl, sondern Text
Gruß Matthias

AW: das ist dann aber Text ...
04.06.2014 14:07:40
Henry
Hallo Matthias,
habe ich nun rausgenommen, Danke!
Ich glauibe ich habe den Fehler gefunden.
Dazwischen gibt es leider auch Zeilen mit Fehlern "#Zahl" etc...
Wie würde ich ihm jetzt sagen das er diese Zeilen überspringen soll....
Wie on error resume next

Prüfung für jede gefüllte Zelle in Spalte U
04.06.2014 13:27:57
MCO
Hallo!
Hier eine mögliche Lösung. Andere Schleifenmöglichkeiten gibts auch noch...
Sub Suche()
Dim I As Long
I = Cells(1, "D").Value
For Each cl In Range("U:U").SpecialCells(xlCellTypeConstants)
If cl = I + 1 Then
MsgBox "your test is good"
End If
Next cl
End Sub
'Gruß, MCO

Anzeige
AW: Werte in Spalte suchen bis letzte Zeile
04.06.2014 13:31:49
MarcR
Hallo Henry,
Probiers mal mit:
Sub test()
dim i as integer
dim last_row as long
last_row = ThisWorkbook.Worksheets(1).UsedRange.Rows.Count
for i = 1 to last_row
if ThisWorkbook.Worksheets(1).Cells(1,4).Value + 1 = ThisWorkbook.Worksheets(1).Cells(i,21)  _
Then
ThisWorkbook.Worksheets(1).Cells(i,22).Value = "your test is good"
Else
ThisWorkbook.Worksheets(1).Cells(i,22).Value = "fail"
End if
Next i
End Sub
habs jetzt nicht getestet sollte aber funktionieren! :D
Gruß
Marc

AW: Werte in Spalte suchen bis letzte Zeile
04.06.2014 13:35:30
Henry
Hi Marc,
Danke, leider auch der selbe Laufzeitfehler 13: typen unverträglich.

Anzeige
Werte in Spalte suchen bis letzte Zeile
04.06.2014 13:34:09
Matthias
Hallo
Const I = 99 'in D1 steht z.B. 99
Dim Rng As Range
For Each Rng In Columns(21).SpecialCells(xlCellTypeConstants, 1)
If Rng = I + 1 Then
MsgBox "your test is good in " & Rng.Address
End If
Next
Gruß Matthias

AW: Werte in Spalte suchen bis letzte Zeile
04.06.2014 13:40:16
Henry
Hallo Matthias,
oh man jetzt beschäftige ich hier alle Leute :)
Danke dir.
Also Wert in D1 ist keine Konstante.
Der Wert ist die aktuelle kalenderwoche welche per Zellformel ermittelt wird.
Aktuell also D1= 23 aber nächtse ist es 24
Wenn ich specialcells... rausnehme dann hab ich wieder den Laufzeitfehler 13: Typen unverträglich.

Anzeige
AW: Werte in Spalte suchen bis letzte Zeile
04.06.2014 13:48:02
Matthias
Hallo
Dann war die Frage nicht korrekt
Du wolltest alle Zellen in Spalte("U") mit D1 vergleichen und eine Info ausgeben wenn der Wert
um 1 (eins) höher ist als in D1. Also kann man das auch als Konstante deklarieren.
https://www.herber.de/bbs/user/90971.xls
Gruß Matthias

AW: Werte in Spalte suchen bis letzte Zeile
04.06.2014 13:53:30
Henry
Das Ergebnis in deiner Tablle stimmt aber wie ändere ich
CONST I = 23 zu CONST I = Cells("D1").Value
dann sagt er konstanter Ausdruck erforderlich...

Werte in Spalte suchen bis letzte Zeile
04.06.2014 14:02:53
Matthias
Hallo
Du hast mich nicht verstande, Deine Frage war nicht korrekt gestellt.
Nochmal Du wolltest alle Zellen in "U" mit dem selben Wert vergleichen, dem aus D1
Also kann mann diesen Wert als Konstante deklarieren.
Wenn Du etwas anderes möchstest,dann darfst die Frage nicht so stellen.
Deine Frage ist ja der einzige Anhalspunkt den man hat um Dir zu helfen
https://www.herber.de/bbs/user/90974.xls
Wenn Du aber nur die Folgewoche finden willst könnte man die Schleife bei Fund von I+1 auch abbrechen!
Gruß Matthias

Anzeige
AW: Werte in Spalte suchen bis letzte Zeile
04.06.2014 14:19:41
Henry
Hallo Matthias,
habe nun "on error resume next" hinzugefügt und er geht jetzt alle Zeilen bis zum Schluss durch.
Er makiert alle korrekten Ergebnisse trichtig.
Leider makiert er aber auch die Zeilen wo der Error auftritt auch als richtig.
Gibt es da eine alternative zu on error resume next.
Der soll diese Zeilen nicht als korrekt interpretieren.

AW: Werte in Spalte suchen bis letzte Zeile
04.06.2014 14:32:59
Matthias
Hallo
#Zahl
Wenn dem so ist dann kannst Du das doch von Anfang an erwähnen!
Wenn Du #Zahl
in Spalte("U") stehen hast, dann sind dort Formeln drin.
Den Rückgabewert der Formeln kann man durch eine Fehlerabfrage so einstellen das die Zelle "leer" bleibt.
Man könnte also auch von Anfang an verhindern, das ein Fehlerwert ausgegeben wird.
Bei mir werden die Fehlerwertigen Zellen nicht markiert
https://www.herber.de/bbs/user/90979.xls
Um Dir wirklich helfen zu können ...
... lad bitte Deine Datei hoch. Ich mag nicht mehr nur Raten
Persönliche Daten bitte entfernen oder durch Dummydaten ersetzen.
Gruß Matthias

Anzeige
AW: Werte in Spalte suchen bis letzte Zeile
04.06.2014 13:39:45
JoWE
Hallo Henry,
oder auch so?
Sub test()
Dim i As Long
Dim e As Boolean
Dim j As Long, n As Long
For i = 1 To Rows.Count
e = IsError(Cells(1, 4).Value + 1)    ' Liefert True.
If e  True Then
If Cells(i, 21) = Cells(1, 4).Value + 1 Then
ja = ja + 1
Else
nein = nein + 1
End If
End If
Next
MsgBox ja & " Zellen entsprechen " & Cells(1, 4).Address & vbCr & _
vbCr & nein & " Zellen entsprechen NICHT " & Cells(1, 4).Address & " !"
End Sub

Gruß
Jochen

373 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige