Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Skript funktioniert nicht

Forumthread: VBA Skript funktioniert nicht

VBA Skript funktioniert nicht
09.08.2013 12:52:51
Dominic
Hi,
der folgende VBA Code funktioniert bei mir nicht. Excel gibt mir eine Fehlermeldung für den Teil "ActiveSheet.paste" aus.
Woran liegt das? Habt Ihr eine Idee?
Sheets("Überblick").Select
Range("A27:P2341").Select
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Sheets("Export").Select
Range("B14:T2050").Select
Selection.ClearContents
Selection.FormatConditions.Delete
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
With Selection.Font
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
End With
Selection.FormatConditions.Delete
With Selection
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Rows("14:14").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.RowHeight = 15
Range("B14").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Skript funktioniert nicht
09.08.2013 13:11:37
Rudi
Hallo,
durch das Löschen des Bereichs wird die Zwischenablage geleert.
Erst löschen und dann kopieren und einfügen.
Gruß
Rudi

AW: VBA Skript funktioniert nicht
09.08.2013 14:01:56
Dominic
Okay, danke Rudi!
Wenn ich das so mache, passiert bei mir aber folgendes:
1) Excel springt in das Tabellenblatt Export
2) löscht alle definierten Zellen und Formate
3) springt wieder in das Tabellenblatt Überblick
und dann wieder in das Blatt Export
um die Daten einzufügen.
Ich möchte aber nicht, dass derjenige der die Datei nutzt, das aktiv "mitbekommt" also Excel muss natürlich so vorgehen und ich habe es so definiert, aber kann ich das auch für den User "unsichtbar" alles durchführen lassen? So dass ich mein Makro im Tabellenblatt Überblick starte und nachdem es vollständig ausgeführt wurde, wird mir einfach nur das Tabellenblatt Export mit enthaltenen / gerade kopierten Daten angezeigt?

Anzeige
AW: VBA Skript funktioniert nicht
09.08.2013 14:23:27
Rudi
Hallo,
aber kann ich das auch für den User "unsichtbar" alles durchführen lassen?
ja, ohne Select geht das.
Sub kopieren()
Application.ScreenUpdating = False
With Sheets("Export")
With .Range("B14:T2050")
.ClearContents
.FormatConditions.Delete
.Borders.LineStyle = xlNone
With .Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
With .Font
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
End With
With .Cells
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
.RowHeight = 15
End With
End With
Sheets("Überblick").Range("A27:P2341") _
.SpecialCells(xlCellTypeVisible).Copy _
Sheets("export").Range("B14")
Sheets("Export").Activate
End Sub

Gruß
Rudi

Anzeige
AW: VBA Skript funktioniert nicht
12.08.2013 11:52:30
Dominic
Hi Rudi,
danke funktioniert soweit super.
Hab noch eine Ergänzung nicht beachtet.
Wie kann ich in diesem Skript noch hinzufügen, dass nur Spalte B im Blatt Export die Breite "57" zugewiesen wird, aber allen anderen Spalten die Standardbreite mit 15?
Habe es momentan so von dir übernommen:
Dim Ze As Long
If [B1] = 1 Then
Application.ScreenUpdating = False
With Sheets("Export")
With .Range("B14:T2050")
.ClearContents
.FormatConditions.Delete
.Borders.LineStyle = xlNone
With .Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
With .Font
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
End With
With .Cells
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
.RowHeight = 15
.ColumnWidth = 15
'.UseStandardHeight = True
End With
End With
Sheets("Überblick").Range("B27:P2341") _
.SpecialCells(xlCellTypeVisible).Copy _
Sheets("export").Range("B14")
Sheets("Export").Activate
ElseIf [B1] = 2 Then
Application.ScreenUpdating = False
With Sheets("Export")
With .Range("B14:T2050")
.ClearContents
.FormatConditions.Delete
.Borders.LineStyle = xlNone
With .Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
With .Font
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
End With
With .Cells
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
.RowHeight = 15
.ColumnWidth = 15
'.UseStandardHeight = True
End With
End With
Sheets("Überblick").Range("B27:P2341") _
.SpecialCells(xlCellTypeVisible).Copy _
Sheets("export").Range("B14")
Sheets("Export").Activate
'For Ze = 20 To 98 Step 6
'Rows(Ze).RowHeight = 4.5
'Next
For Ze = 81 To 2000 Step 6
Rows(Ze).RowHeight = 4.5
Next
End If
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige