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

VBA Zellbereich von bestimmter Zelle aus prüfen?

VBA Zellbereich von bestimmter Zelle aus prüfen?
11.12.2017 19:13:34
bestimmter
Hallo Community,
mal wieder ein VBA Problem.
Ich möchte in einem bestimmten Zellbereich prüfen, ob eine Zelle einen bestimmten Wert bzw. Buchstaben erhält. Mein Code dazu:
For Each Cell In Range(Cells(24,16,), Cells(33,25))
If Cell.Value = "A" Then
Daraufhin soll ein bestimmter Zellbereich auf beispielsweise Buchstabe "B" geprüft werden. Und zwar alle Zellen die bis zu 3 Zellen von "A" entfernt liegen. Mein Code dazu:
If Cell.Offset(0,1) = "B" Or Cell.Offset(0,2) = "B" Or Cell.Offset(0,3) = "B" Then
Und das ganze noch mit -1,0 ; -2,0 ; -3,0 und so weiter also die komplette Range frage ich Zelle für Zelle ab was bei einer Range von x unübersichtlich und unendlich groß wird.
Meine Frage:
Gibt es für diesen Fall eine Art Range(Offset(x,y), Offfset(-x,-y)) ? Habe ein wenig rumprobiert und diverse Foren durchsucht aber leider nur ein Range(Offset) gefunden, wenn man vorher eine Range hat von der man sucht. Ich habe leider nur eine Zelle.
Danke im voraus und freundliche Grüße

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Zellbereich von bestimmter Zelle aus prüfen?
11.12.2017 19:38:03
bestimmter
Was genau bezweckst du denn damit (Sinn des Ganzen)?
Vielleicht gehst du es ganz falsch an.
AW: Murx
11.12.2017 19:41:33
Phi
Christian
es ginge so:

for i = 24 to 36
for j = 16 to 25
if cells(i,j) = ?
next j
next i
Wenn man aber die Buchstaben A, B, C usw und Zahlen prüfen möchte, sollte es bessere Ansätze geben.
(Für A, B, C

if instr(1, "ABC", cells(i,j)) > 0 then

AW: Murx
11.12.2017 19:57:26
Christian
Hallo,
danke für den Ansatz. Allerdings komme ich mit i = 24 to 36 und j = 16 to 25 nicht weiter. Mein Problem ist nicht das Durchsuchen des Zellbereiches auf einen bestimmten Buchstaben. Sondern wenn ein bestimmter Buchstabe in diesem Zellbereich gefunden wird, soll ein neuer Zellbereich von diesem Buchstaben aus "kreiert" und nach einem anderen Buchstaben gesucht werden. Z.b. alle Zellen die bis zu 3 zellen von dem gefundenen Wert liegen.
Die Durchsuchen nach dem neuen Zellbereich bekomme ich nicht hin.
Anzeige
AW: Murx
11.12.2017 20:46:24
onur
Auch wenn du meinen 1. einfach Beitrag ignoriert hast:

Dim rng, z, s, ze, sp, cell
Set rng = Range(Cells(24, 16), Cells(33, 25))
For Each cell In rng
If cell.Value = "A" Then
ze = cell.Row: sp = cell.Column
For z = ze - 3 To ze + 3
For s = sp - 3 To sp + 3
If Cells(z, s) = "B" Then
'was auch immer
End If
Next s
Next z
End If
Next

AW: Murx
12.12.2017 18:53:14
Christian
Hallo,
Perfekt das ist genau wonach ich gesucht habe. Habe deinen Beitrag nicht ignoriert sondern überlesen. Ich habe einfach nur einen Zellbereich der rnd gefüllt wird. Den will ich auf Nachbarzelleninhalte prüfen.
Danke für die Lösung klappt wunderbar :)
Anzeige
AW: Ansatz
11.12.2017 20:22:58
Phi
ok, man muss auch den ganzen Text lesen ...
Hiere ein Ansatz, A muss 3 Zeilen/Spalten vom Rand entfernt sein:

Sub Main
dim rng as range
set rng = activesheet.usedrange.find("A", lookin:=xlvalues, lookat:=xlwhole)
'if not rng is nothing then msgbox rng.address
set r = range(rng.offset(-3,-3), rng.offset(3,3)
set r2 = r.find("B", lookin:=xlvalues, lookat:=xlwhole)
msgbox r2.address
End Sub

AW: VBA Zellbereich von bestimmter Zelle aus ?
11.12.2017 21:42:49
bestimmter
Hallo Christian,
meinst du bspw. so einen Range?
Sub ba()
Dim C As Range, Z As Range
Set C = Range("E10")
Set Z = C.Offset(-3, -3).Resize(7, 7)
Z.Select
End Sub
Gruß Gerd
Anzeige

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige