Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
864to868
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
864to868
864to868
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

nach suche in anderer tabelle zurückspringen

nach suche in anderer tabelle zurückspringen
24.04.2007 16:25:00
Lars
der code für die Suche sieht so aus:
Dim liZeile As Integer, lbMsg As Byte
With ThisWorkbook.Sheets("Adresse")
For liZeile = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
If ActiveCell.Value = .Range("A" & liZeile).Value Then
.Activate
.Range("A" & liZeile).Select
.Range("C" & liZeile).Copy
lbMsg = MsgBox("Der Text wurde gefunden.", vbInformation, "Treffer")
Exit Sub
End If
Next
End With
lbMsg = MsgBox("Der Text wurde NICHT gefunden.", vbExclamation, "kein Treffer")
End Sub
Nun hab ich noch ein kleines Problem:
Wie springe ich auf die ursprüngliche Tabelle (am besten das ursprüngliche Feld) wieder zurück?
Die ist nicht immer Tabelle1. (hab ca. 20 verschiedene von wo aus die suche gestartet wurde)
Danke noch mal!
Gruß Haxley

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: nach suche in anderer tabelle zurückspringen
24.04.2007 16:47:44
Norbert
Versuch es mal so:

Sub Suchen()
Tabelle = ActiveSheet.Name
Zelle = ActiveCell.Address
Dim liZeile As Integer, lbMsg As Byte
With ThisWorkbook.Sheets("Adresse")
For liZeile = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
If ActiveCell.Value = .Range("A" & liZeile).Value Then
.Activate
.Range("A" & liZeile).Select
.Range("C" & liZeile).Copy
lbMsg = MsgBox("Der Text wurde gefunden.", vbInformation, "Treffer")
Exit Sub
End If
Next
End With
lbMsg = MsgBox("Der Text wurde NICHT gefunden.", vbExclamation, "kein Treffer")
If ActiveSheet.Name  Tabelle Then
Worksheets(Tabelle).Select
End If
Range(Zelle).Select
End Sub


Anzeige
AW: nach suche in anderer tabelle zurückspringen
24.04.2007 17:02:46
Lars
Hallo Norbert,
danke Dir, aber geht leider nicht, ich bleibe weiterhin auf der durchsuchten seite stehen.
gibt aber auch keine fehlermeldung.

AW: nach suche in anderer tabelle zurückspringen
24.04.2007 17:08:00
Norbert
Stimmt, hatte überlesen, daß Du bei einer erfolgreichen Suche das Makro beendest. In diesem Falle bleibt Excel natürlich auf dem letzten Blatt stehen. Kopier doch einfach die letzten vier Zeilen vor "End Sub" vor "Exit Sub", dann geht es in beiden Fällen. Eleganter wäre natürlich eine Function, aber ich denke das tut es auch erst mal ...

AW: nach suche in anderer tabelle zurückspringen
24.04.2007 17:12:00
Lars
Perfekt!!!
Tausend Dank!!!

AW: nach suche in anderer tabelle zurückspringen
24.04.2007 16:54:00
Horst
Hi,
das Ganze geht genauso gut ohne select und activate, du musst das Blatt
also gar nicht verlassen.
mfg Horst

Anzeige
AW: nach suche in anderer tabelle zurückspringen
24.04.2007 17:08:50
Lars
Hallo Horst,
ich habe mal select und activate auskommentiert aber dann bekomme ich nur Fehlermeldungen.
Wie könnte der code aussehen, damit ich das Blatt nicht verlassen muß?
(Hab leider nicht die allergrößte Ahnung von VBA)

AW: nach suche in anderer tabelle zurückspringen
24.04.2007 17:19:03
Horst
Hi,
unklar, wozu die gefundene Zelle kppiert wird?

Sub x()
Dim liZeile As Long, lbMsg As Byte
With ThisWorkbook.Sheets("Adresse")
For liZeile = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
If ActiveCell.Value = .Range("A" & liZeile).Value Then
.Range("C" & liZeile).Copy
lbMsg = MsgBox("Der Text wurde gefunden.", vbInformation, "Treffer")
Exit Sub
End If
Next
End With
lbMsg = MsgBox("Der Text wurde NICHT gefunden.", vbExclamation, "kein Treffer")
End Sub


mfg Horst

Anzeige
AW: nach suche in anderer tabelle zurückspringen
24.04.2007 21:31:13
nighty
hi all :-)
dann noch eine variante ohne schleife :-)
gruss nighty

Sub x()
Dim suche As Range
Dim lbMsg As Byte
With ThisWorkbook.Sheets("Adresse")
Set suche = .Range("A:A").Find(ActiveCell.Value, Lookat:=xlWhole)
If Not suche Is Nothing Then
.Range("C" & suche.Row).Copy
lbMsg = MsgBox("Der Text wurde gefunden.", vbInformation, "Treffer")
Else
lbMsg = MsgBox("Der Text wurde NICHT gefunden.", vbExclamation, "kein Treffer")
End If
End With
End Sub


299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige