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

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

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

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige