Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Such- und Markierfunktion

Forumthread: VBA Such- und Markierfunktion

VBA Such- und Markierfunktion
05.10.2007 10:42:00
Uwe
Hallo,
ich habe folgendes Makro, dass, wenn ich den Suchbegriff in Spalte A eingebe funktioniert, nicht jedoch in Spalte G. Woran kann das liegen. Ich habe Euch ein excelsheet runtergeladen. Ich hoffe, Ihr könnt mir helfen.
</p><pre>Sub inaktiv_setzen()
Tabelle1.Select
Set r = Range("G12:G1000")
For n = 12 To r.Rows.Count
If r.Cells(n, 7) = "inaktive" Then
Range(Cells(n, 1), Cells(n, 8)).Select
GoTo ende
End If
Next n
MsgBox ("Keinen Datensatz gefunden.")
Fehler = True
ende:
End Sub</pre><p>
https://www.herber.de/bbs/user/46543.xls
Vielen Dank.
Grüße
Uwe

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Such- und Markierfunktion
05.10.2007 10:59:54
Rudi
Hallo,
natürlich geht das nicht, da r.cells(n,7) in Spalte M sucht

Sub inaktiv_setzen_SpalteG()
Dim r As Range, c As Range, blnFound As Boolean
Set r = Range("G12:G1000")
For Each c In r.Cells
If c = "inaktive" Then
Range(c.Offset(0, -6), c.Offset(0, 1)).Select
blnFound = True
Exit For
End If
Next c
If Not blnFound Then
MsgBox ("Keinen Datensatz gefunden.")
Fehler = True
End If
End Sub


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
AW: VBA Such- und Markierfunktion
05.10.2007 11:05:00
Uwe
Vielen Dank Rudi,
funktioniert, aber warum sucht mein Makro in Spalte M? Ich habe doch die Spalte G mit "r.Cells(n, 7)" definiert.
Gruß
Uwe

AW: VBA Such- und Markierfunktion
05.10.2007 11:19:00
ingUR
Hallo, Uwe,
das Objekt Cells, so wie Du es einsetzt wird auf den von dir gesetzten Rangebereich bezogen. Damit wirkt Dein Rangebereich wie die erste Spalte in der Tabelle. Mit r.Cells(n,1) spricht Du die erste Spalte bezogen auf die Referenzspalte, andie mit r gegeben ist, entweder die Spalte 1 oder eben die Spalte 7 bezogen auf "A" bze. "G". Mit r.Cells(n,1) finktioniert Dein Beispiel bei gesetzter "Referenzzeile "G".
Soweit die Erläuterung, die natürlci nichts darüber aussagt, wie Sinfvoll diese Art der Bezüge ist.
Gruß,
Uwe

Anzeige
AW: VBA Such- und Markierfunktion
05.10.2007 11:22:01
Uwe
Vielen Dank für die Aufklärung.
Gruß
Uwe

AW: VBA Such- und Markierfunktion
05.10.2007 11:37:00
ingUR
Interessant ist hierbei, dass mit Deiner Lösung so schöne Dinge wie "negative" Spalten angesprochen werden können:
set r = range("G12;G1000")
r.Cells(n,2) liefert Zelle in Spalte nach Startbereichsspalte r, also in Spalte H
r.Cells(n,1) liefert Zelle in Startbereichsspalte r, also in Spalte G
r.Cells(n,0) liefert Zeile in Spalte vor Startbereichsspalte r, also in Spalte F
r.Cells(n,-1) liefert Zeile in zwei Spalte vor Startbereichsspalte r, also in Spalte E
...
r.Cells(n,-5) liefert Zeile in zwei Spalte vor Startbereichsspalte r, also in Spalte A
und Schluß!
Jedoch ist m.E. diese Konstruktion nicht die beste Lösung, in Deinem Fall auch gar nicht nötig.
Gruß,
Uwe

Anzeige
AW: VBA Such- und Markierfunktion
05.10.2007 11:18:15
Peter
Hallo Uwe,
so sollte es gehen:

Sub inaktiv_setzen_SpalteG()
'Tabelle1.Select
Set r = Range("G12:G1000")
For n = 1 To r.Rows.Count
If Trim(Cells(n, 7).Value) = "inaktive" Then
Range(Cells(n + 11, 1), Cells(n + 11, 8)).Select
GoTo ende
End If
Next n
MsgBox ("Keinen Datensatz gefunden.")
Fehler = True
ende:
End Sub


Gruß Peter

Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige