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

Kopieren in die erste leere Zelle einer Spalte

Kopieren in die erste leere Zelle einer Spalte
04.07.2017 20:50:56
Bulls
Hallo Zusammen,
da ich momentan etwas am verzweifeln bin, dachte ich mir, ich hole mir kompetente Unterstützung :)
Ich habe eine Mappe mit verschiedenen Register/ Tabellenblätter. Eine davon heißt "Kunde" und das ist mein "Masterblatt", da ich per Makro dieses Masterblatt kopieren kann und meine zu umsetzende Idee auf allen duplizierten Tabellenblätter funktionieren sollte, habe ich mir überlegt, mit der ActiveSheet funktion zu arbeiten. Aber nun zu meinen eigentlichen Anliegen:
Ich möchte aus Tabellenblatt "Kunde" (aber mit Bezug auf dieses active Sheet) die Zellen E5 C9 G9 E9 C11 C12 C17 C18 in Tabellenblatt "Übersicht" Sortiert mit folgender Zuweisung E5>F19 C9>I19 G9>H19 E9>G19 C11>J19 C12>K19 C17>N19 C18>M19 kopiert werden, soweit so gut, aber mein Problem, ich möchte bei der nächsten Makroausführung NICHT das die Daten überschrieben werden, also sollte das Makro irgendwie einen Zellenbereich prüfen (die oben genannten Spalten ab Zeile 19 bis 1000 z.B.) und die oberste leere zelle in diesen Bereich befüllen. folgendes habe ich schon gemacht bzw zusammengeschustert, mit X meine ich dass ich ab da ausgestiegen bin :(
Sub speichern()
Dim iRow As Long
ActiveSheet.Range("E5, C9, G9, E9, C11, C12, C17, C18").Copy
With Sheets("Übersicht")
iRow = .Cells(.Rows.Count, X).End(xlUp).Row + 1
End With
End Sub
Kann jemand helfen?
Danke

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

Betreff
Datum
Anwender
Anzeige
AW: Kopieren in die erste leere Zelle einer Spalte
05.07.2017 05:27:56
fcs
Hallo Bulls Eye,
Zellen lassen sich nur als zusammenhängender Zellenblock kopieren und einfügen.
In deinem Fall müssen die Zellen einzeln kopiert werden.
Dazu speichert man die Zuordnung in eine Daten-Array und arbeitet dann das Daten-Arra in einer For-Next-Schleife ab.
Die Berechnung der nächsten freien Spalte kann man vereinfachen, wenn eine der Spalten in der Übersicht bei jedem Kunden ausgefüllt wird. Dann kann man direkt in dieser Spalte die nächste Zeile ermitteln.
Gruß
Franz
Sub CopyKunde_Uebersicht()
'Kopiert Zellen aus dem aktiven Blatt in das Blatt "Übersicht"
Dim wksKunde As Worksheet
Dim wksUeber As Worksheet
Dim ZeiUe As Long
Dim arrZ(1 To 8, 1 To 2) As Variant
Dim iZ As Integer
Set wksKunde = ActiveSheet
Set wksUeber = ActiveWorkbook.Worksheets("Übersicht")
Select Case wksKunde.Name
Case wksUeber.Name, "Kunde"
MsgBox "Wenn das Blatt ""Übersicht"" oder ""Kunde"" aktiv sind darf dieses Makro  _
nicht " _
& "ausgeführt werden", _
vbOKOnly + vbInformation, "Hinweis - Makro: ""CopyKunde_Uebersicht"""
Case Else
'Array füllen mit den Quellzellen und Zielspalten für den Kopiervorgange
iZ = iZ + 1: arrZ(iZ, 1) = "E5": arrZ(iZ, 2) = 6 'Spalte F
iZ = iZ + 1: arrZ(iZ, 1) = "C9": arrZ(iZ, 2) = 9 'Spalte I
iZ = iZ + 1: arrZ(iZ, 1) = "G9": arrZ(iZ, 2) = 8 'Spalte H
iZ = iZ + 1: arrZ(iZ, 1) = "E9": arrZ(iZ, 2) = 7 'Spalte G
iZ = iZ + 1: arrZ(iZ, 1) = "C11": arrZ(iZ, 2) = 10 'Spalte J
iZ = iZ + 1: arrZ(iZ, 1) = "C12": arrZ(iZ, 2) = 11 'Spalte K
iZ = iZ + 1: arrZ(iZ, 1) = "C17": arrZ(iZ, 2) = 14 'Spalte N
iZ = iZ + 1: arrZ(iZ, 1) = "C18": arrZ(iZ, 2) = 13 'Spalte M
With wksUeber
'Prüfen, ob im Blatt ein Filter aktiv ist,wenn ja dann alle Zeilen anzeigen
'nur so funktioniert die Ermittlung dernächsten freien Zeile korrekt
If .FilterMode = True Then
.ShowAllData
End If
'nächste freie Zeile in Blatt "Übersicht" ermitteln
ZeiUe = 0
For iZ = 1 To UBound(arrZ, 1)
'letzte Zelle mit Inhalt in Spalte ermitteln
With .Cells(.Rows.Count, arrZ(iZ, 2)).End(xlUp)
If ZeiUe 

Anzeige
AW: Kopieren in die erste leere Zelle einer Spalte
06.07.2017 01:25:12
Bulls
Hallo Franz, vielen Dank!!
nie im Leben hätte ich das so geschafft, es funktioniert sehr gut!
Einen, oder vielleicht 2 wünsche hätte ich noch, ich möchte, dass die Zelle in Spalte F die gerade befüllt wird, gleichzeitig mit dem Datenblatt aus dem die Daten gerade stammen verlinkt wird, wie könnte das realisiert werden?
AW: s. auch hier
07.07.2017 22:28:47
Bulls
Hi Uwe,
vielen Dank, aber ich habe leider dein Code nicht zum laufen gebracht, ich habe noch zeilen verändert spalten an und ausgeblendet, mir ist es nicht gelungen dein code anzupassen, dennoch vielen Dank!!
Mein vorher beschriebenes Problem ist leider noch nicht gelöst ... wie bekomme ich diese Verlinkung im Code hin? :(
Anzeige
AW: Kopieren in die erste leere Zelle einer Spalte
08.07.2017 17:33:12
Bulls
kann Jemand helfen? :(
AW: Kopieren in die erste leere Zelle einer Spalte
08.07.2017 18:27:49
fcs
Hallo BullsEye,
in meinem Makro nach dem Kopieren der Zellinhalte nnoch einen kleinen 2-zeiler einfügen.
Excel hat übrigens auch einen Makro-Rekorder, hier kann man Basis-Code für viele Aktionen aufzeichnne und dan versuchen, diesen "hardverdrahteten" Code flexibel zu machen durch Einsatz von Variablen.
Gruß
Franz
            'Zellen aus aktivem Blatt kopieren nach Blatt "Übersicht
Application.ScreenUpdating = False
For iZ = 1 To UBound(arrZ, 1)
wksKunde.Range(arrZ(iZ, 1)).Copy .Cells(ZeiUe, arrZ(iZ, 2))
Next
.Hyperlinks.Add Anchor:=.Cells(ZeiUe, 6), Address:="", _
SubAddress:="'" & wksKunde.Name & "'!A1"
Application.ScreenUpdating = True
End With
End Select
End Sub

Anzeige

324 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige