Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1064to1068
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

Tabellenblattauswahl funktioniert nicht

Tabellenblattauswahl funktioniert nicht
29.03.2009 23:03:58
Joni
Hallo,
ich habe das Phänomen, dass die Auswahl des Tabellenblatt nicht richtig funktioniert. Ich möchte eine Datei öffnen bei der beim Öffnen ein Makro ausgeführt wird, das die Daten aus einer anderen Datei in diese Datei hineinkopiert und die Datei wieder schließt. Öffnen ist kein Problem. Aber bei der Auswahl der Tabellenblätter habe ich ein Problem. Die Blätter heißen in beiden Dateien gleich um den Zusammenhang besser herstellen zu können. Folgendes Makro verwende ich.
Phad = ThisWorkbook.Path
Workbooks.Open Filename:=Phad & "\DatenIgel.xls" 'Ausgangsdatei
Workbooks("DatenIgel.xls").Activate 'Ausgangsdatei
Sheets("Vorschreibung").Activate 'Auswahl Tabellenblatt Ausgangsdatei
Range("A1:N5000").Select 'Bereich der kopiert werden soll
Selection.Copy
Workbooks("SB-Liste.xls").Activate 'Zieldatei
Sheets("Vorschreibung").Activate 'Auswahl Tabellenblatt Zieldatei
Range("A1").Select 'Bereich in dem die Daten eingefügt werden; linke obere Ecke
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False 'Es werden die Werte eingefügt
Die Auswahl Sheets("Vorschreibung").Activate 'Auswahl Tabellenblatt Ausgangsdatei greift auf die Zieldatei (die Datei mit der ich das Makro starte) zu. Wenn ich den Tabellenblättern unterschiedliche Namen gebe erhalte ich einen Laufzeitfehler. Woran liegt es, dass er nicht das Tabellenblatt der aktiven Tabelle auswählt? Wenn ich das Makro nach Workbooks("DatenIgel.xls").Activate 'Ausgangsdatei stoppe steht ich auf der richtigen Datei aus der die Werte kopiert werden sollen. Wie kann ich die Auswahl so anpassen, dass sie funktioniert.
Danke für eure Tipps.
Joni

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

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblattauswahl funktioniert nicht
29.03.2009 23:19:30
Daniel
Hi
der tippt heißt:
nicht mit .Select und Selection. arbeiten sondern immer vollständig referenzieren:
dh. aus:

Workbooks("DatenIgel.xls").Activate 'Ausgangsdatei
Sheets("Vorschreibung").Activate 'Auswahl Tabellenblatt Ausgangsdatei
Range("A1:N5000").Select 'Bereich der kopiert werden soll
Selection.Copy


wird das:


Workbooks("DatenIgel.xls").Sheets("Vorschreibung").Range("A1:N5000").Copy


und beim einfügen dann analog..
dan sollte es auch keine Probleme und verwechslungen geben.
zum bessern Verständnis vielleicht auch mal das hier lesen:
http://www.online-excel.de/excel/singsel_vba.php?f=78
Gruß, Daniel

Anzeige
AW: Tabellenblattauswahl funktioniert nicht
30.03.2009 00:01:45
joni
Hi Daniel,
danke das hat funktioniert! Am Schluss werde ich noch gefragt ob ich die Daten in der Zwischenablage noch brauche. Kann ich das irgendwie unterdrücken, das bremst nur.
Wenn die Daten kopiert sind möchte ich die Formeln noch aktualisieren und habe dazu SendKeys "{F9}" verwendet. Klappt aber nicht. Hast du hier vielleicht auch noch eine Idee ohne, dass ich lange suchen muss.
Thx
Joni
AW: Copy ohne Copy
30.03.2009 12:28:22
Erich
Hallo Joni,
du brauchst Copy (und damit die Zwischenablage) doch gar nicht. Probier mal

Option Explicit
Sub tst()
Dim Phad As String
Phad = ThisWorkbook.Path
Workbooks.Open Filename:=Phad & "\DatenIgel.xls" 'Ausgangsdatei
Workbooks("SB-Liste.xls").Sheets("Vorschreibung").Range("A1:N5000") = _
Workbooks("DatenIgel.xls").Sheets("Vorschreibung").Range("A1:N5000")
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Korrektur
30.03.2009 12:33:03
Erich
Hi Joni,
sorry, da fehlte das .Value. Also noch einmal:

Option Explicit
Sub tst()
Dim Phad As String
Phad = ThisWorkbook.Path
Workbooks.Open Filename:=Phad & "\DatenIgel.xls" 'Ausgangsdatei
Workbooks("SB-Liste.xls").Sheets("Vorschreibung").Range("A1:N5000") = _
Workbooks("DatenIgel.xls").Sheets("Vorschreibung").Range("A1:N5000").Value
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

AW: Korrektur
30.03.2009 12:58:10
joni
Hi Erich,
das klappt super und ist richtig flott.
Hast du für mein F9-Problem auch noch eine Lösung?
Joni
AW: Neuberechnung?
30.03.2009 14:04:37
Erich
Hi Joni.
meinst du mit "Formeln aktualisieren", dass neu berechnet werden soll?
Ist die automatische Berechnung ausgeschaltet? Dann könntest du sie einschalten mit
Application.Calculation = xlCalculationAutomatic
Oder du kannst die Berechnung aller Mappen / eines Blattes ( eines Bereichs anstoßen mit
Application.Calculate (oder einfach Calculate)
Worksheets(1).Calculate
Worksheets(1).Rows(2).Calculate
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Neuberechnung?
30.03.2009 16:09:27
joni
Hi Erich,
die Funktion Calculate hat funktioniert, aber nicht so ganz richtig. Wenn diese ausgeführt wurde, kann ich die Werte mit F9 nicht mehr von Hand aktualisieren? Weiters löscht er mir einige Werte aus den Zellen die mit Formeln, die auf die mit dem Makro eingefügte Daten, zurückgreifen heraus.
Wenn ich jetzt die Daten von Hand nochmal kopiere, dann geht F9 wieder und die Daten werden wieder in die Zellen geschrieben.
Was macht Calculate genau? Ist das mit F9 zu vergleichen?
Danke für die Info.
Joni
AW: Neuberechnung?
30.03.2009 16:43:07
joni
Hi Erich,
noch ein Nachtrag. Wenn ich die Werte mit Copy/Paste übertrage dann funktionieren die Formeln und F9 problemlos. Dafür die Abfrage mit den Daten im Zwischenspeicher :-(
Joni
Anzeige
AW: Neuberechnung - F9 - Calculate
31.03.2009 10:58:37
Erich
Hi Joni,
ich geh mal davon aus, dass in deinem Zielblatt außerhalb des kopierten Bereichs A1:N5000 Formeln stehen,
in denen Zellen aus A1:N5000 vorkommen.
Wie die Werte in A1:N5000 kommen, sollte für die Berechnung der Formeln gleichgültig sein.
Deshalb verstehe ich nicht, weshalb sich das Verhalten bei der Berechnung der Formeln geändert haben sollte.
Das frühere "PasteSpecial Paste:=xlPasteValues" schreibt genauso wie die neue Zuweisung
einfach nur Werte in einen Bereich.
Wird vielleicht irgendwo die automatische Berechnung abgeschaltet?
Was F9 und Calculate betrifft:
Zeichen doch mal ein Makro auf. Die einzige Aktion: Ein Druck auf F9. Dann schau dir mal das Makro an.
Während einer zweiten Aufzeichnung könntest du mal bei Extras - Optionen auf der Karte "Berechnung"
auf den Button "Blatt berechnen" klicken.
(Nebenbei: Auf dem Button "Neu berechnen" steht auch "(F9)" drauf.)
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Neuberechnung - F9 - Calculate
01.04.2009 10:21:10
joni
Hi Erich,
ich habe mir das angesehen. Wenn ich das Makro aufzeichen schreibt er genau das gleiche ins Markro wie ich von Hand schon drin stehen habe, Calculate. Ist also kein Unterschied. Wie die Daten eingefügt werden wirkt sich jedoch auf die Formeln aus. Mit deinem Vorschlag funktioniert das nicht, warum? Wenn ich vor dem Durchführen des Makros nicht zu viele Daten in der Zwischenablage habe kommt da auch die Abfrage nicht ob ich diese Daten noch behalten möchte. Das ist derzeit für mich so ok. Wie du siehst komme ich von einem Problemchen zum nächsten. Deinen Vorschlag bezüglich Minimumwerte werde ich bei Gelegenheit testen. Info folgt.
Danke
Joni
Anzeige

317 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige