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

aktive Blätter?

aktive Blätter?
14.07.2008 09:59:00
Tobias
Hallo zusammen,
ich habe folgendes Problem. Ich habe hier folgenen Text geschrieben. Ich versuche zu verhindern, den Namen des Sheets (hier THB_0h_LT) zu verwenden, damit mein Programm nicht von dem Namen abhängt.
Leider kann ich die Suchfunktion und das später Markieren nicht durchführen wenn mir die Zeile [Sheets("THB_0h_LT").Select] fehlt. was kann ich dagegen tun?
Windows(name2).Activate
ActiveWorkbook.Worksheets(1).Activate
'Sheets("THB_0h_LT").Select
Cells.Find(What:="M358", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
Range(ActiveCell, ActiveCell.Offset(85, 0)).Select
Range(ActiveCell, ActiveCell.Offset(85, 0)).Copy
mfg Tobias Musolf

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: aktive Blätter?
14.07.2008 10:08:00
Mustafa
Hallo Tobias,
dein code sieht mir sehr nach dem Makrorekorder aus, wegen der vielen Select anweisungen.
Auf deine Frage kann ich nur Antworten, das jedes Tabellenblatt auch einen VBA Namen hat.
Wie hier zu ershen: ActiveWorkbook.Worksheets(1).Activate
Auch dein Tabellenblatt mit dem Namen THB_0h_LT sollte so einen namen haben.
Mit dem kannst du dieses Tabellenblatt ansprechen ohne den Tabellennamen der in Excel veränderbar ist zu benutzen.
Rückmeldung obs Hilft wäre nett.
Viele Grüße aus Köln.

AW: aktive Blätter?
14.07.2008 10:12:00
Rudi
Hallo,
die gesamte Aktiviererei und Selectiererei ist überflüssig.
Dim rngFind As Range
Set rngFind = Windows(Name2).Worksheets(1).Cells.Find(What:="M358", _
After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlWhole, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If Not rngFind Is Nothing Then Range(rngFind, rngFind.Offset(85, 0)).Copy
Gruß
Rudi

Anzeige
sieht aus als ob das Sheet nicht den Index 1 hat
14.07.2008 10:23:00
Matthias
Hallo
so wie ich es verstanden habe.
Ist denn:
ActiveWorkbook.Worksheets(1) auch 'Sheets("THB_0h_LT") ?
Probleme dieser Art treten oft beim Verschieben der Blätter auf.
War bisher Sheets("THB_0h_LT") das erste Blatt im Blattregister und durch eine Aktionen wurde dieses an eine andere Position verschoben, so ist es nicht mehr Worksheets(1).
Der Index richtet sich also nach der Position im Register
Steht also Dein Sheet mit dem Namen "THB_0h_L" z.B. an Position 4 im Register, so mußt Du es auch mit
Worksheets(4) ansprechen.
Ich verwende aus diesem Grund immer den aktuellen Namen des Worksheets.
Testen kannst Du das erste Baltt im Register auf den Namen mit:

Sub test()
MsgBox Worksheets(1).Name
End Sub


Gruß Matthias

Anzeige
AW: aktive Blätter?
14.07.2008 10:48:45
Tobias
Hi, also ich habe versucht was ihr mir gepostet habt, doch ich kam irgendwie nicht weiter. Deshalb habe ich euch auch mal einen kleinen Screenshot hochgeladen. Ich werde ihen auch noch ein bissel erklären.
Ich habe in der Datei "Version1" per VBA eine weiter Datei geöffnet, und aus dieser möchte ich nun Daten in meine Tabelle übertragen, um sie dort auswerten zu können ohne die andere Datei zu beschädigen. Nun tritt der Fehler immer auf, das ich nicht gescheit auf die geöffnete Tabelle zugreifen kann. Ich muss da Namenunabhängig sein bei den Blättern, da ich damit einige hundert Datensätze mit unterschiedlichen Namen auswerten muss.
Was ich nicht verstehe, ist was da noch für Sheets angelegt sind und warum eins Sheet und die anderen Tabelle heissen?
Vielen dank schon mal
Userbild
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige