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

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

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

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

Anzeige
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

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

Anzeige
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

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige