Werte kopieren VBA

20/02/2014 - 11:54 von Peter Schuerer | Report spam
Hallo Zusammen,

ich muss aus Tabelle27 nur sichtbare Zellen kopieren und in Tabelle26
einfügen.
In Tabelle27 wird der Bereich B6:U25 berechnet und alle Spalten (die in
Zeile 25 NULL enthalten) per Makro ausgeblendet.
Bisher hat alles funktioniert, jetzt nicht mehr.
Der Bereich B5:U5 wird richtig kopiert und eingefügt. Nach dem Wechsel
von Tabelle26 in Tabelle27 werden noch andere Makros ausgeführt.
Nach dem kopieren von B25:U25 wird der ganze Bereich in Tabelle26 eingefügt.

Sub Stillstand_kopieren3()
'

'
ActiveSheet.Unprotect
On Error Resume Next
Range("B5:U5").Select
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Range("A3").Select
' ActiveSheet.Protect
[Tabelle26].Visible = xlSheetVisible
[Tabelle26].Activate
Range("E36").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=True, Transpose:=False
[Tabelle27].Select
Range("B25:U25").Select
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Range("A3").Select
[Tabelle26].Activate
Range("E37").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=True, Transpose:=False
Range("E36").Activate
Range("C36").Select
Range(Selection, Selection.End(xlToRight)).Select
ActiveWorkbook.Names.Add Name:="Stillgepl_RubrikJahr",
RefersTo:="=" + Selection.Address
Range("C37").Select
Range(Selection, Selection.End(xlToRight)).Select
ActiveWorkbook.Names.Add Name:="Stillgepl_WerteJahr", RefersTo:="="
+ Selection.Address
ActiveSheet.Calculate

[Tabelle26].Visible = xlSheetHidden
End Sub

Wie kann ich den Blattwechsel vermeiden?

Danke und Gruß
Peter


Diese E-Mail ist frei von Viren und Malware, denn der avast! Antivirus Schutz ist aktiv.
http://www.avast.com
 

Lesen sie die antworten

#1 Claus Busch
20/02/2014 - 12:10 | Warnen spam
Hallo Peter,

Am Thu, 20 Feb 2014 11:54:05 +0100 schrieb Peter Schuerer:

ich muss aus Tabelle27 nur sichtbare Zellen kopieren und in Tabelle26
einfügen.
In Tabelle27 wird der Bereich B6:U25 berechnet und alle Spalten (die in
Zeile 25 NULL enthalten) per Makro ausgeblendet.
Bisher hat alles funktioniert, jetzt nicht mehr.
Der Bereich B5:U5 wird richtig kopiert und eingefügt. Nach dem Wechsel
von Tabelle26 in Tabelle27 werden noch andere Makros ausgeführt.
Nach dem kopieren von B25:U25 wird der ganze Bereich in Tabelle26 eingefügt.



Select, Selection und Activate ist kein guter Programmierstil. Außerdem
flackert dann stàndig der Bildschirm.
Du brauchst zum Einfügen nicht auf das Blatt gehen, wenn richtig
referenziert wird.
Probiere mal zum Kopieren:

With Sheets("Tabelle27")
.Unprotect
.Range("B5:U5").SpecialCells(xlCellTypeVisible).Copy
Sheets("Tabelle26").Range("E36").PasteSpecial _
Paste:=xlPasteValues
' ActiveSheet.Protect
.Range("B25:U25").SpecialCells(xlCellTypeVisible).Copy
Sheets("Tabelle26").Range("E37").PasteSpecial _
Paste:=xlPasteValues
End With

Wenn das Einfügen von Daten in Tabelle26 Events auslöst, kannst du das
mit
Application.EnableEventsúLSE vor dem Code abstellen.
Musst dies aber am Ende des Codes wieder auf TRUE stellen


Mit freundlichen Grüßen
Claus
Win XP Prof SP3 / Vista Ultimate SP2
Office 2003 SP3 /2007 Ultimate SP3

Ähnliche fragen