Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1368to1372
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
Inhaltsverzeichnis

Worksheets.Select

Worksheets.Select
23.07.2014 16:00:56
Climbi
Hallo,
ich wechsle mittels Worksheets("Testblatt").Select auf ein neues Tabellenblatt.
Das Tabellenblatt wird dann auch tatsächlich angezeigt.
Wenn ich nun jedoch eine Zelle anwähle und den Zelleninhalt in die Zwischenablage
kopieren will, wird der Zelleninhalt des Vorgängerblattes kopiert.
Wenn ich das Tabellenblatt über die Blattregister anwähle geht es.
Habe ich neben "Worksheets("Testblatt").Select" noch eine zusätzliche Möglichkeit ?
Vielen Dank im Voraus
Gruß Climbi

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Worksheets.Select
23.07.2014 16:22:19
selli
hallo climbi,
wähle das blatt mit ....activate
und die zelle mit ....select
gruß
selli

Eigentlich ist schon alles gesagt; ... hochladen?
24.07.2014 09:41:51
MCO
Moin!
Die Tips waren alle gut u. richtig.
Kannst du mal die Tabelle hochladen?
(Ich nehme an, dass du einmal "Testblatt" und einmal "Test" wählen willst, ist Absicht?)
Gruß, MCO

AW: Worksheets.Select
23.07.2014 16:30:31
fcs
Hallo Climbi,
hast du deinen Code evtl. im VBA-Editor unter dem Vorgängerblatt angelegt?
Dann kann es Probleme oder auch Makrofehler gegeben, wenn die Zellen oder Zellbereiche von anderen Tabellenblättern nicht vollständig zum Eltern-Objekt referenziert werden.
Befehlszeilen mit Range, Cells, Rows, Columns beziehen sich dann immer auf das Tabellenblatt unter dem der Code steht.
In solchen Fällen ist es dann oft günstiger den Code in einem allgemeinen Modul anzulegen. Hier beziehen sich Range, Cells, Rows, Columns immer auf das gerade aktive Tabellenblatt.
Statt per Select/Activate zum Blatt zu wechseln und einen Bereich zu kopieren kannst du aber auch eine direkte Anweisung schreiben.
Gruß
Franz
Sub Makro1()
' Statt
Worksheets("Testblatt").Select
Range("A1:D10").Copy
Worksheets("TabelleXYZ").Select
Range("A11").Select
ActiveSheet.Paste
'so
Worksheets("Testblatt").Range("A1:D10").Copy Sheets("TabelleXYZ").Range("A11")
'oder - wenn nur Formate und Werte kopiert werden sollen
Worksheets("Testblatt").Range("A1:D10").Copy
Sheets("TabelleXYZ").Range("A11").PasteSpecial Paste:=xlFormats
Sheets("TabelleXYZ").Range("A11").PasteSpecial Paste:=xlValue
Application.CutCopyMode = False
End Sub

Anzeige
AW: Worksheets.Select
24.07.2014 09:19:21
Climbi
Hallo
erst einmal vielen Dank für die schnellen Antworten.
.activate kannte ich noch nicht, habe ich nun getestet, leider ohne Erfolg.
Der VBA Code steht in einem allgemeinen Modul.
Kurz noch einmal der Fehlerfall.
Per VBA wechsle ich auf ein anderes Tabellenblatt. (nun sogar doppelt)
Worksheets("Test").Activate
Worksheets("Test").Select
Worksheets("Test").Range("A1").Select
Der (mehrzeilige) Text der Zelle A1 wird nun in der Formelzeile angezeigt.
Dort kann ich diesen Text auch in die Zwischenablage übernehmen. (Alles markieren + STRG C)
Was jedoch in diesem Fall nicht geht, ist die Taste F2. (und so arbeiten die meisten Benutzer leider)
Drücke ich F2 wechselt der Inhalt von Zelle A1 auf den Inhalt des Vorgängerblattes.
Wenn ich die das Tabellenblatt vorher noch einmal manuell über die Reiter wechsle dann funktioniert es.
Vielleicht hat ja jemand noch einen Tipp
Gruß Climbi

Anzeige
AW: Worksheets.Select
24.07.2014 12:46:01
fcs
Hallo Climbi,
bevor wir hier weiter rätseln, warum dein Makro nicht korrekt funktioniert, beschreibe doch einmal was du überhaupt vorhast.
In Makros ist es -außer durch Senden von Tastaturbefehlen- nicht möglich in den Einagebmodus einer Zelle zu wechseln.
Üblicherweise kopiert man in Excel "einfach" die selektierte Zelle/den Zellbereich.
Beim Einfügen innerhalb von Excel stehen dann verschiedenste Optionen von Alles, über nur Werte, Formeln, Formate etc zur Verfügung.
Welchselst du nach dem Kopieren in eine andere Anwendung, dann hängt das Einfüge-Ergebnis von den Fähigkeiten dieser Anwendung ab.
Im einfachsten Fall wird nur der Textinhalt der Zelle eingefügt, im Extremfall wird bei Auswahl entsprechender Optionen ein Excel-Tabellenobjekt ggf. mit Link zur Ursprungstabelle eingefügt.
Wenn du -aus welchen Gründen auch immer- nur den Text-Inhalt/Wert einer Zelle in die Zwischenablage übernehmen willst, dann muss etwas anders vorgegangen werden.
'Im Vba-Editor muss für die Datei mit dem Makro unter Extras--Verweise der Verweis
'auf die
'Microsoft Forms 2.0 Object Library
'aktiviert sein!!
Sub PutCellData_in_Clipboard()
Dim myData As Dataobject
Dim strText As String
Set myData = New Dataobject
myData.SetText Worksheets("Test").Range("A1").Text 'oder .Value
myData.PutInClipboard
Set myData = Nothing
End Sub

Anzeige

15 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige