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

Werte übertragen und zusätzlich Rahmen zeichnen

Werte übertragen und zusätzlich Rahmen zeichnen
09.11.2018 10:06:53
Jochen
Hallo Zusammen,
Ich habe folgendes Problem:
Ich schreibe momentan mittels VBA ein Makro. Unteranderem soll es Folgendes beinhalten:
Auf einem 1. Excel Sheet steht eine (undefinierte) Anzahl an Werten untereinander. Nun soll das Makro diese Werte genauso übernehmen wie es auf dem 1. Sheet steht und auf einen 2. Sheet übertragen. Zusätzlich soll es aber noch einen Rahmen um jede Zelle ziehen, so dass ich am Ende auf dem 2. Sheet eine Tabelle mit Rahmen habe, die genau so viele Spalten beinhaltet, wie die Anzahl der Werte auf dem 1. Sheet. Dabei kann die Anzahl an Werten auf Sheet 1 natürlich jedes mal schwanken, so dass ich nicht einfach eine Maske auf Sheet 2 anfertigen kann, die dann nur jedes mal ausgefüllt werden müsste.
Ich hoffe ich habe mich verständlich ausgedrückt...
Fällt dafür jemandem eine Lösung ein?
Grüße,
Jochen

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte übertragen und zusätzlich Rahmen zeichnen
09.11.2018 10:44:16
Werner
Hallo Jochen,
das mit den Rahmen hört sich nach einer bedingten Formatierung an und wohl Kopieren und Einfügen mit Transpost.
Lad mal eine Beispielmappe hoch in der du in der zweiten Tabelle dein Wunschergebnis aufzeigst.
Gruß Werner
Werte übertragen und zusätzlich Rahmen zeichnen
09.11.2018 11:03:05
Bernd
Servus Jochen,
meinst du das so?

Sub test()
Dim intLZ As Integer
Dim ws As Worksheet
Dim ws2 As Worksheet
Dim rngTab1 As Range
Dim rngTab2 As Range
Dim Zelle As Range
Set ws = ThisWorkbook.Worksheets("Tabelle1")
Set ws2 = ThisWorkbook.Worksheets("Tabelle2")
ws2.UsedRange.Clear
intLZ = ws.Cells(Rows.Count, 1).End(xlUp).Row
ws.Range("A1:A" & intLZ).Copy Destination:=ws2.Range("A1")
Set rngTab2 = ws2.Range(ws2.Cells(1, 1), ws2.Cells(intLZ, intLZ))
For Each Zelle In rngTab2
Zelle.Borders(xlDiagonalDown).LineStyle = xlNone
Zelle.Borders(xlDiagonalUp).LineStyle = xlNone
With Zelle.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Zelle.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Zelle.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Zelle.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Zelle.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Zelle.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
Next Zelle
Set Zelle = Nothing
Set rngTab1 = Nothing
Set rngTab2 = Nothing
Set ws2 = Nothing
Set ws = Nothing
End Sub
Grüße, Bernd
Anzeige
AW: Werte übertragen und zusätzlich Rahmen zeichne
13.11.2018 10:13:23
Jochen
Hallo,
entschuldigt die späte Rückmeldung.
Ich habe nun mal eine vereinfachte Beispieldatei erstellt. In "Tabelle1" stehen die Werte die in die "Tabelle3" reingeschrieben werden sollen. Am Ende soll es dann aussehen wie in "Tabelle2"
https://www.herber.de/bbs/user/125352.xlsx
Viele Grüße,
Jochen
AW: Werte übertragen und zusätzlich Rahmen zeichne
13.11.2018 16:36:40
Werner
Hallo Jochen,
so:
Public Sub Daten_und_Rahmen()
Dim loLetzteQ As Long, loLetzteZ As Long
Application.ScreenUpdating = False
With Worksheets("Tabelle1")
loLetzteQ = .Cells(.Rows.Count, 2).End(xlUp).Row
.Range(.Cells(3, 2), .Cells(loLetzteQ, 2)).Copy
With Worksheets("Tabelle3")
loLetzteZ = .Cells(.Rows.Count, 2).End(xlUp).Offset(1).Row
.Cells(loLetzteZ, 2).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
.Columns(2).HorizontalAlignment = xlCenter
.Columns(2).Font.Bold = True
loLetzteZ = .Cells(.Rows.Count, 2).End(xlUp).Row
With .Range(.Cells(3, 2), .Cells(loLetzteZ, 11))
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders.Weight = xlMedium
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders.Weight = xlMedium
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders.Weight = xlMedium
.Borders(xlEdgeRight).LineStyle = xlContinuous
.Borders.Weight = xlMedium
.Borders(xlInsideVertical).LineStyle = xlContinuous
.Borders.Weight = xlMedium
.Borders(xlInsideHorizontal).LineStyle = xlContinuous
.Borders.Weight = xlMedium
End With
End With
End With
End Sub
Gruß Werner
Anzeige
AW: Werte übertragen und zusätzlich Rahmen zeichne
16.11.2018 08:37:35
Jochen
Hallo Werner,
schonmal vielen Dank für deine Hilfe.
Dein Code funktioniert, nur habe ich manchmal den Fall, dass auf einem Sheet mehr als eine Tabelle steht. Also anders als bei meiner Beispieldatei. Mein Fehler, sorry.
In diesem Fall zeichnet der Code das ganze Blatt mit Rahmen voll bis zur nächsten tabelle. Es sollten jedoch dann einfach beide Tabellen identisch ausgefüllt werden. Hast du villeicht eine Idee dazu?
Ich habe erneut eine Beispieldatei erstellt:
https://www.herber.de/bbs/user/125427.xlsx
Vielen Dank,
Jochen
Anzeige
AW: Werte übertragen und zusätzlich Rahmen zeichne
16.11.2018 10:31:05
Jochen
.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige