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

Zellenbereich von ws zu ws transferieren

Zellenbereich von ws zu ws transferieren
12.12.2017 20:26:06
ws
Hallo, ein letzter Versuch, bevor ich meinen Lapi an die Wand werfe :-D.
Ich habe euch nun eine geeignete Beispieldatei erstellt.
Dort sollte alles explizit erklärt sein .Müsste so für manche hier machbar sein. Es fehlt vermutlich nur ein Code. Schönen Abend, Gruß Daniel
https://www.herber.de/bbs/user/118297.xlsm

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellenbereich von ws zu ws transferieren
13.12.2017 22:27:36
ws
Hallo Daniel,
die zum Teil verbunden Zellen mit den Wochentagen mach das Ganze etwas kompliziert.
Nachfolgend ein entsprechendes Makro für das Kopieren der Daten zum ausgewählten Wochentag.
Gruß
Franz
Private Sub CB_2_Click()
Dim strWT As String
Dim rngWT As Range
Dim wksQ As Worksheet
Dim wksZ As Worksheet
Dim Spa_1 As Long, Spa_2 As Long, Zeile As Long, Spalte As Long
If OB_Montag = True Then
'Selektierten Wochentag ermitteln
'Code den ich nicht weiß = Kopiere mir die Werte für Montag (siehe Beispiel Tabellenblatt2)  _
von Tabelle1 in Tabelle2
'...usw. für Dienstag, Mittwoch...
strWT = "Montag"
ElseIf OB_Dienstag = True Then
strWT = "Dienstag"
ElseIf OB_Mittwoch = True Then
strWT = "Mittwoch"
End If
If strWT  "" Then
'Tabellenblatt mit den Daten der Wochentage
Set wksQ = ActiveWorkbook.Worksheets("Tabelle1")
'Zieltabellenblatt in das kopiert werden soll
Set wksZ = ActiveWorkbook.Worksheets("Tabelle2")
'Altdaten ab Spalte B in Zieltabelle löschen
With wksZ
'prüfen, ob die Zelle B1 mit Zellen verbunden ist
If .Cells(1, 2).MergeCells = True Then
Spa_1 = 2
Set rngWT = .Cells(1, 2).MergeArea
Spa_2 = Spa_1 + rngWT.Columns.Count - 1
rngWT.UnMerge
Range(.Columns(Spa_1), .Columns(Spa_2)).Clear
Else
.Columns(2).Clear
End If
End With
With wksQ
'Wochentag in Quelltabelle suchen
Set rngWT = .Rows(1).Find(what:=strWT, LookIn:=xlValues, lookat:=xlWhole)
If rngWT Is Nothing Then
MsgBox "Wochentag """ & strWT & """ in Tabelle """ & .Name & """ nicht gefunden" _
Else
'1. Spalte des zu kopierenden Bereichs
Spa_1 = rngWT.Column
'prüfen, ob die Zellen mit dem Wochentag verbunden sind
If rngWT.MergeCells = True Then
'Wochentag steht in verbundenner Zell
'letzte Spalte des zu kopierenden Bereichs aus der Anzahl der verbundenen  _
Zelle ermitteln
Spa_2 = Spa_1 + rngWT.MergeArea.Columns.Count - 1
'letzte Zeile mit inhalt in den Spalten ermitteln
For Spalte = Spa_1 To Spa_2
Zeile = Application.WorksheetFunction.Max(Zeile, _
.Cells(.Rows.Count, Spalte).End(xlUp).Row)
Next
Else
'Wochtag steht nicht in verbundenen Zellen (also nur eine SPalte
Spa_2 = Spa_1
'letzte Zeile mit Daten in der Spalte
Zeile = .Cells(.Rows.Count, Spa_1).End(xlUp).Row
End If
'Datenbereich zum Wochentag ins Zieltabellenblatt kopieren
.Range(.Cells(1, Spa_1), .Cells(Zeile, Spa_2)).Copy wksZ.Cells(1, 2)
End If
End With
wksZ.Activate
Unload Me
End If
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige