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

Position merken

Position merken
21.11.2007 09:32:07
Micha
Hallo zusammen,
ich schon wieder.
Wie kann ich denn VBA bebringen, das Excel sich die aktuelle Zellposition merkt und nach Ausführung einer Suche auf einem anderen Tabellenblatt (das bekomme ich wahrscheinlich allein hin ;-)) wieder dahin zurück kehrt.
Vielen Dank,
Gruß Micha

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Position merken
21.11.2007 09:41:00
Renee
Hi Micha,
Bevor du VBA zu etwas bringen willst, versuch dich dazu zu bringen Code so zu schreiben, dass weder .Select noch .Activate darin vorkommt. Dann verliert Excel auch nicht die aktuelle Zellposition.
Als Tipp: Achtung Makrorekorder oder Wer selektiert denn da?
Wenn's nicht klappt, schau dir mal an was ActiveCell.Address(0,0) liefert.
GreetZ Renee

AW: Position merken
21.11.2007 09:42:00
Andi
Hi,
zB so:

Sub t()
Dim blatt As Worksheet
Dim zelle As Range
Set blatt = ActiveSheet
Set zelle = ActiveCell
' 


Schönen Gruß,
Andi

Anzeige
AW: Position merken
21.11.2007 09:53:19
Micha
Genau so werde ich es machen. Das verstehe ja sogar ich...
Vielen Dank für Deine Hilfe.
Gruß Micha

Gern geschehen... (mt)
21.11.2007 09:56:00
Andi
Hi,
der Einwand von Renee ist aber trotzdem richtig.
Select und Activate kann man so gut wie immer vermeiden, und es gäbe sicher eine Möglichkeit, Deinen Code so gestaltet, dass man die ActiveCell garnicht erst verliert.
Schönen Gruß,
Andi

AW: Gern geschehen... (mt)
21.11.2007 10:02:00
Micha
Hi,
das ist sicherlich richtig, aber ehrlich gesagt kann ich das nicht. Ich habe das Problem, das ich auf einer Variable einen Wert habe, der in einem gesonderten Blatt gesucht werden muss. Dann brauch ich den Wert in der Spalte rechts daneben und muss diesen links neben die gemerkten Zelle schreiben.
Geht das anders?
Vielen Dank und Gruß
Micha

Anzeige
AW: Gern geschehen... (mt)
21.11.2007 10:16:00
Renee
Hi Micha,
Probier mal:

Sub KlarGehtDas()
Dim tSuchText As String
Dim vGefunden
Const tSuchBlatt = "Tabelle2"
Const tSuchBereich = "A1:D15"
try_again:
tSuchText = InputBox("Suchtext eingeben:", "Suchen in Tabelle2", "BlaBla")
If tSuchText = "" Then Exit Sub
With ActiveWorkbook.Sheets(tSuchBlatt).Range(tSuchBereich)
Set vGefunden = .Find(tSuchText, LookIn:=xlValues)
If Not (vGefunden Is Nothing) Then
ActiveCell.Offset(0, -1).Value = vGefunden.Offset(0, 1).Value
Else
MsgBox "Sorry nix gefunden!"
GoTo try_again
End If
End With
End Sub


GreetZ Renee

Anzeige
AW: Gern geschehen... (mt)
21.11.2007 10:21:00
Andi
Hi,
ja das geht anders; wenn der Wert, den Du suchst in der Variable suchvariable steht und in Tabelle2 gesucht werden soll, dann geht das mit dieser Zeile:
ActiveCell.Offset(0, -1) = Sheets("Tabelle2").UsedRange.Find(suchvariable).Offset(0, 1)
Statt UsedRange kannst Du zB auch Range("A1:B100") verwenden, um den Suchbereich einzugrenzen.
Wenn die ActiveCell theoretisch auch in Spalte A sein kann, dann müsstest Du noch eine entsprechnde Abfrage einbauen, weil's ja dann nicht mehr weiter nach links geht.
Schönen Gruß,
Andi

AW: Gern geschehen... (mt)
21.11.2007 10:31:00
Micha
Hallo Andi,
vielen Dank. Das muss ich mir dann noch einmal ansehen. Ich melde mich noch mal dazu bei Dir...
Danke erst einmal...
Gruß Micha

Anzeige
AW: Damit's sicher nicht...
21.11.2007 10:30:21
Renee
ins Nirwana geht.
Wie Andi erwähnt hat, bei aktiver Zelle in Spalte A ....bumm

Sub KlarGehtDas()
Dim tSuchText As String
Dim vGefunden
Const tSuchBlatt = "Tabelle2"
Const tSuchBereich = "A1:G22"
If ActiveCell.Column = 1 Then
MsgBox "Leider hat es links von mir (" & _
ActiveCell.Address(0, 0) & ") KEINEN Platz"
Exit Sub
End If
try_again:
tSuchText = InputBox("Suchbegriff eingeben:" & vbCrLf & _
"(Leer oder Abbrechen zum Beenden)", _
"Suchen in " & tSuchBlatt, _
"Hier den Suchbegriff bitte..")
If tSuchText = "" Then Exit Sub
With ActiveWorkbook.Sheets(tSuchBlatt).Range(tSuchBereich)
Set vGefunden = .Find(tSuchText, LookIn:=xlValues)
If Not (vGefunden Is Nothing) Then
ActiveCell.Offset(0, -1).Value = vGefunden.Offset(0, 1).Value
Else
MsgBox "Sorry nix gefunden!"
GoTo try_again
End If
End With
End Sub


GreetZ Renee

Anzeige
AW: Damit's sicher nicht...
21.11.2007 10:33:00
Micha
Hallo Renee,
vielen Dank erst mal, aber ich muss erst mal noch ein anderes Prob. heraus finden. Werde mich noch mal melden...
Danke Dir erst einmal.
Gruß Micha

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige