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

Forumthread: Übergabe in zweites Tabellenblatt

Übergabe in zweites Tabellenblatt
02.08.2013 13:16:45
Dominic
Hallo zusammen,
ich brauche ein VBA Skript das mir aus meiner Excel Tabelle im Tabellenblatt "Überblick" aus dem Zellbereich von B27:O2336 nur die jeweils eingeblendeten(!) Zeilen in das Tabellenblatt "Export" ab der Zelle B14 einfügt/ kopiert.
Wichtig dabei ist folgendes:
1)
In den Zellbereichen von B27:Q2336 im Sheet Überblick sind natürlich überall Formeln eingetragen, Excel soll beim kopieren in das Tabellenblatt Export jedoch nur die Werte übernehmen - nicht die Formeln.
Ebenfalls müssen alle anderen Zellformatierungen für den zu kopierenden Bereich übernommen werden
- Rahmenlinien
- Enthaltene Bedingte Formatierungen
- Spaltebreite und Zeilenhöhe
- Enthaltene Füllfarben
- und alle sonstigen Formatierungen wie Schriftart + Schriftgröße usw.
Das bedingt natürlich, dass im gesamten Zellbereich ab B14 (bis eben max. O2323)
vor dem Kopiervorgang dieser Bereich immer wieder "resettet" wird, heißt alle enthaltenen Formatierungen löschen, Zellhöhe und Spaltenbreite wieder auf Standard zurückgesetzt wird.
Wie bekomme ich das sinnvoll gelöst?
Bisher nutze ich folgende Formel, die aber z. B. beim Kopiervorgang die Zeilenhöhe nicht beachtet, weshalb ich diese manuell ändern muss, sofern eine bestimmte IF Abfrage zuvor zutrifft.
Diese kompletten IF Abfragen entfallen aber, wenn es eine Methode gibt, in der ich einfach alle eingeblendeten Zeilen aus der genannten Tabelle 1:1 (nur statt Formeln eben als Werte) in das zweite Tabellenblatt kopieren kann.
If [B1] = 1 And [B2] = 1 And [B5] 1 And [B6] 1 Then
Range("B27:O2155").Select
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Sheets("Export").Select
Rows("15:15").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.RowHeight = 15
With Selection
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
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
Selection.ClearContents
Selection.FormatConditions.Delete
Range("B14").Select
Sheets("ÜberblicK").Select
Selection.Copy
Sheets("Export").Select
ActiveSheet.Paste
Range("D17").Select
Range("B:B").ColumnWidth = 57
Range("C:C").ColumnWidth = 10.7
ElseIf [B1] = 2 And [B2] = 1 And [B5] 1 And [P1] = 2 And [B6] 1 Then
Range("B27:O2155").Select
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Sheets("Export").Select
Rows("15:15").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.RowHeight = 15
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
Selection.ClearContents
Range("B14").Select
Sheets("ÜberblicK").Select
Selection.Copy
Sheets("Export").Select
ActiveSheet.Paste
Range("D17").Select
Range("B:B").ColumnWidth = 57
Range("C:C").ColumnWidth = 10.7
For Ze = 20 To 98 Step 6
Rows(Ze).RowHeight = 4.5
Next
For Ze = 99 To 2336 Step 6
Rows(Ze).RowHeight = 4.5
Next

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Übergabe in zweites Tabellenblatt
02.08.2013 13:39:53
Doris
Hallo Dominic,
damit kriegst Du Formate, Rahmen, werte und Formel gelöscht.
Range("B1:O2323").Select
Selection.ClearFormats
Selection.ClearContents
Spaltebreite und zeilenhöhe - keine Ahnung.
Gruß Doris

AW: Übergabe in zweites Tabellenblatt
02.08.2013 13:50:22
Doris
Hallo Dominic,
und hier als Nachschlag (Standardbreite und -höhe)
Columns("A:G").UseStandardWidth = True
Rows("1:2323").UseStandardHeight = True
gruß doris

Anzeige
AW: Übergabe in zweites Tabellenblatt
02.08.2013 14:16:29
Dominic
Hi,
super danke! Jetzt benötige ich nur noch ein passendes Script um den Zellbereich aus dem Blatt "Überblick" in Export zu kopieren, so dass dabei wie zuvor erwähnt nur die jeweils eingeblendeten Zeilen berücksichtigt werden.

AW: Übergabe in zweites Tabellenblatt
02.08.2013 14:29:16
Doris
Ja das klappt noch nicht ganz (bedingtes Format geht verschütt)
Doris

Anzeige
AW: Übergabe in zweites Tabellenblatt
02.08.2013 17:10:42
Doris
Hallo,
Habe Dir ein Beispiel hochgeladen. Kopieren ging aber nur in dre Schritten. Probier's einfach aus und sieh Dir den VBA-Code an.
https://www.herber.de/bbs/user/86691.xlsm
Was nicht klappt ist die bedingte Formatierung. Da kommt Müll raus. Aber vielleicht hat hier noch jemand ne geniale Idee.
Gruß Doris
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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