Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1420to1424
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

.PasteSpecial xlPasteValues +Tabellenblattwechsel

.PasteSpecial xlPasteValues +Tabellenblattwechsel
17.04.2015 11:33:10
Maria
Liebe Community,
ich habe ein Verständnisproblem und hoffe auf eure Unterstützung, weil ich in der Recherche im Netz nichts dazu gefunden habe...
Ich verwende in meinem Code mehrfach folgende Funktion für unterschiedliche Bereiche / Formeln (also nicht immer index, sondern auch vlookup etc.):
With wsData.Range(ColumnToLetter(ColNr) & FirstRow & ":" & ColumnToLetter(ColNr) & x)
.FormulaR1C1 = "=index('[" & wbA & "]" & Workbooks(wbA).Sheets(1).Name & "'!c" & ColwbANr & ",  _
RC" & ColTreffer & ",0)"
.Copy
.PasteSpecial xlPasteValues
End With
Application.CutCopyMode = False

Alle Namen sind global benannt und der Code funktioniert soweit einwandfrei!
Einziges Manko: Manchmal wechselt er in dem Code, den ich aus Tabellenblatt wsMenu starte, auf das Tabellenblatt wsData und zwar genau in der Zeile .pasteSpecial xlPasteValues (getestet über Schritt für Schritt Codedurchlauf mit F8).
Und es passiert wenn ich Schritt für Schritt durchgehe eben nicht immer...
Gibt es hierfür irgendeine Erklärung?
Bei meiner vorherigen Version mit .value = .value, habe ich übrigens das Problem nicht feststellen können, der Code hat aber deutlich länger benötigt (es sind auch viele Zeilen!).
Natürlich kann ich das Problem lösen, indem ich am Ende des Codes ein wsMenu.Activate einbaue, aber ich habe irgendwo mal gelesen, das Acitvate und Select in 99% der Fälle überflüssig ist und verwende es daher sonst nie...
... und ich würde gerne einfach verstehen, warum er in der Zeile das Tabellenblatt wechselt!
Vielen Dank für jeglichen Hinweis und Tipp!
Schöne Grüße
Maria

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

Betreff
Datum
Anwender
Anzeige
AW: .PasteSpecial xlPasteValues +Tabellenblattwechsel
17.04.2015 11:49:03
Nepumuk
Hallo,
der Wechsel des Tabellenblattes bei der PasteSpecial-Methode ist normal. Nicht normal ist es, dass Excel nicht automatisch auf die Ausgangstabelle zurück wechselt. Da hilft nur eine Krücke, indem du den Wechsel hart programmierst.
Dim wksActiveSheet As Worksheet
Set wksActiveSheet = ActiveSheet
With wsData.Range(ColumnToLetter(ColNr) & FirstRow & ":" & ColumnToLetter(ColNr) & x)
    .FormulaR1C1 = "=index('[" & wbA & "]" & Workbooks(wbA).Sheets(1).Name & _
        "'!c" & ColwbANr & ", RC" & ColTreffer & ",0)"
    .Copy
    .PasteSpecial xlPasteValues
End With
Application.CutCopyMode = False
wksActiveSheet.Activate
Set wksActiveSheet = Nothing

Gruß
Nepumuk

Anzeige
AW: .PasteSpecial xlPasteValues +Tabellenblattwechsel
17.04.2015 12:02:08
Maria
Aber woher kommt der Fehler, dass Excel nicht automatisch zurückwechselt?
Würde ich bei dem automatischen Zurückwechseln das im Schritt-für-Schritt Modus überhaupt sehen?
Die Krücke habe ich verstanden und ja auch vorgeschlagen, aber warum funktioniert es manchmal und manchmal nicht?

AW: .PasteSpecial xlPasteValues +Tabellenblattwechsel
17.04.2015 12:21:11
Nepumuk
Hallo,
gibt es in der Tabelle in welche du einfügst irgendwelche Event-Prozeduren die z.B. auf Änderungen in der Tabelle reagieren? Also so etwas wie Worksheet_Change, Worksheet_SelectionChange, Worksheet_Activate oder Worksheet_Deactivate. Wenn nicht, dann musst du es es unter der Rubrik "It's Magic" ablegen.
Gruß
Nepumuk

Anzeige
AW: .PasteSpecial xlPasteValues +Tabellenblattwechsel
17.04.2015 13:09:29
Maria
Then it's magic...

99 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige