Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
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

Ü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

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

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.

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

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

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige