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

Spalte einer Tabelle copypasten

Spalte einer Tabelle copypasten
22.03.2020 19:02:17
hofe
Guten Abend liebe Community
ich habe hier ein kleines Problem und könnte Gerade die Wand anschreien ;-).
Ich möchte gerne eine gefilterte Spalte von einer Tabelle einer Arbeitsmappe in eine andere Tabelle einer Arbeitsmappe kopieren.
Nun zu meinen Problem.
in folgenden Code kopiert zwar nur den gefilterten Inhalt, aber ich bekomme es nicht hin, das _ er in der Tabelle startet.

Sub spalte_kopieren()
Dim lngSpalte As Long
Dim wksZiel As Worksheet
Set wksZiel = Sheets("Übersicht")
With wksZiel
lngSpalte = .Cells(1, Columns.Count).End(xlToLeft).Column
If Application.CountA(.Columns(lngSpalte)) > 0 Then lngSpalte = lngSpalte + 1
End With
Range("Tabelle2[Spalte1]").Select
Selection.Copy
wksZiel.Cells(1, lngSpalte).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub

Und nun wird es richtig nervig, wo ich vermutlich restlos mit meinem Wissen an meine Grenzen stoße.
Ich möchte auch gerne die Überschrift dynamisch gestalten.
Also das in der in der Überschrift steht, wie viele Zellen mit Filter aus der Übersprungsmaske eingefügt wurden.
Weil ich es schlecht erklären kann, habe ich mal meine Excel Datei mit an den Beitrag gehangen.
https://www.herber.de/bbs/user/136021.xlsm

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

Betreff
Datum
Anwender
Anzeige
AW: Spalte einer Tabelle copypasten
23.03.2020 07:39:24
hofe
so ähnlich wie hier könnte ich doch dann ggf. 1x den Wert vom Reiter Daten aus Spalte ZKS raussuchen und in die Überschrift integrieren?
Public Function FILTERERGEBNIS(rngBereich As Range, _
Optional trenner = vbLf) As String
'** Auslesen der gefilterten Daten
'** Parameter 1: Zellbereich
'** Parameter 2: Startzeile des Datenbereichs (ohne Überschrift)
'** Parameter 3: Optional - Individueller Daten-Trenner
'** Dimensionierung der Variablen
Dim varArr As Variant
Dim objDic As Object
Dim intI As Integer
Dim lngL As Long
Dim lngStartZ As Long
'** Bereich übergeben
varArr = rngBereich
'** Objekt definieren
Set objDict = CreateObject("Scripting.Dictionary")
'** Startzeile der Liste aus Bereichsangabe auslesen
lngStartZ = rngBereich(1, 1).Row
'** Datenbereich durchlaufen
For intI = LBound(varArr, 2) To UBound(varArr, 2)
For lngL = LBound(varArr, 1) To UBound(varArr, 1)
'** Prüfen, ob Zeile eingeblendet ist
If Cells(lngL + lngStartZ - 1, 1).Rows.Hidden = False Then
'** Inhalt dem Dictionary-Objekt übergeben
objDict(varArr(lngL, intI)) = 0
End If
Next
Next
'** Inhalte zusammensetzen und der Funktion zurückgeben
FILTERERGEBNIS = Join(objDict.keys, trenner)
End Function

Anzeige
AW: Spalte einer Tabelle copypasten
23.03.2020 07:42:03
hofe
ich denke, ich habe jetzt auch einen Ansatz, wie ich einmal an den gefilterten wert für die Überschrift komme.
Das wäre doch brauchbar oder?
Public Function FILTERERGEBNIS(rngBereich As Range, _
Optional trenner = vbLf) As String
'** Auslesen der gefilterten Daten
'** Parameter 1: Zellbereich
'** Parameter 2: Startzeile des Datenbereichs (ohne Überschrift)
'** Parameter 3: Optional - Individueller Daten-Trenner
'** Dimensionierung der Variablen
Dim varArr As Variant
Dim objDic As Object
Dim intI As Integer
Dim lngL As Long
Dim lngStartZ As Long
'** Bereich übergeben
varArr = rngBereich
'** Objekt definieren
Set objDict = CreateObject("Scripting.Dictionary")
'** Startzeile der Liste aus Bereichsangabe auslesen
lngStartZ = rngBereich(1, 1).Row
'** Datenbereich durchlaufen
For intI = LBound(varArr, 2) To UBound(varArr, 2)
For lngL = LBound(varArr, 1) To UBound(varArr, 1)
'** Prüfen, ob Zeile eingeblendet ist
If Cells(lngL + lngStartZ - 1, 1).Rows.Hidden = False Then
'** Inhalt dem Dictionary-Objekt übergeben
objDict(varArr(lngL, intI)) = 0
End If
Next
Next
'** Inhalte zusammensetzen und der Funktion zurückgeben
FILTERERGEBNIS = Join(objDict.keys, trenner)
End Function

Anzeige
AW: Spalte einer Tabelle copypasten
23.03.2020 11:10:25
hofe
Meine erste frage konnte ich mir jetzt selbst beantworten
ich habe
lngSpalte = .Cells(1, Columns.Count).End(xlToLeft).Column

durch
lngSpalte = .Cells(4, Columns.Count).End(xlToLeft).Column
und
wksZiel.Cells(1, lngSpalte).PasteSpecial Paste:=xlPasteValues

durch
wksZiel.Cells(4, lngSpalte).PasteSpecial Paste:=xlPasteValues
nun stimmt zumindest schon mal die Zeilenhöhen
Leider erkennt er die erste leere Zeile der Intelligente Tabelle als Zeile mit Inhalt und fügt beim ersten einfügen schon eine neue Spalte ein.
Hat da zufällig jemand eine Idee?
Und mein zweites Problem mit der Überschrift könnte man eventuell über Count lösen, aber dann weiß ich leider noch nicht, wie ich die Filter auslesen lasse, die beim aktuellen einfügen verwendet wurden.
Anzeige
AW: Spalte einer Tabelle copypasten
24.03.2020 12:12:04
hofe
Hallo liebe Helfer,
mühsam ernährt sich das sich das Eichhörnchen
   Sub spalte_kopieren()
Dim lngSpalte As Long
Dim wksZiel As Worksheet
Set wksZiel = Sheets("Übersicht")
With wksZiel
lngSpalte = .Cells(4, Columns.Count).End(xlToLeft).Column
If Application.CountA(.Columns(lngSpalte)) > 0 Then lngSpalte = lngSpalte + 1
End With
Range("Tabelle2[Spalte1]").Select
Selection.Copy
wksZiel.Cells(4, lngSpalte).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub
habe ich jetzt mit
   Sheets("Daten").Select
Range("Tabelle2[ZKS]").Select
Dim ZKS
ZKS = Cells(Selection.Row, Selection.Column).Value
Sheets("Übersicht").Range("A1").Value = ZKS

erweitert um so aus einen der gefilterten Zellen die ZKS auszulesen um sie später für die Überschrift weiter zu nutzen.
Beim probeweise einfügen in Zelle A1 auf dem Reiter Übersicht gibt er mir aber immer den ersten Wert der Spalte aus und nicht den der Selection. hat jemand eine Idee, woran das liegen kann, bzw. was ich falsch mache.
Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige