Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
636to640
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
636to640
636to640
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

zusammenhängende Datensätze kopieren

zusammenhängende Datensätze kopieren
13.07.2005 15:19:26
Werner
Hallöchen!
Ich habe eine Liste mit Kundennummern und Daten zu diesen Kunden in der gleichen Zeile.
Jetzt läuft bei mir ein Makro, dass mir die ersten 40 Datensätze dieser Liste in eine andere Liste verschiebt.
Dabei kann es aber passieren, dass der 40. Datensatz und auch der 41. zum gleichen Kunden gehören.
Die Kundendaten werden somit beim Verschieben getrennt.
Das will ich aber nicht.
Ich möchte, dass alle zusammengehörenden Kundenzeilen verschoben werden.
Jedoch dürfen nicht mehr als 43 Datensätze insgesamt kopiert werden.
Wird es mehr soll der Kunde beim nächsten veschieben mitgenommen werden.
Geht so was?
Für Hilfe wäre ich sehr dankbar.
Gruß
Werner

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: zusammenhängende Datensätze kopieren
13.07.2005 15:22:51
Dmoser
Zeig mal das Makro
AW: zusammenhängende Datensätze kopieren
13.07.2005 15:24:36
MichaV
Hallo Werner,
klar geht das. Wäre aber nett, wenn Du eine Beispielmappe mit Deinem vorhanden Code präsentierst, damit der potentielle Antworter das Rad nicht neu erfinden muss.
Gruss- Micha
AW: zusammenhängende Datensätze kopieren
13.07.2005 15:30:08
Werner
Sorry. Hier das Makro.
Nicht lachen! Bin halt kein Profi.

Sub Datenimportieren_Speicher_1()
Application.ScreenUpdating = False
If Range("Speicher!c2") <> "" Then
MsgBox "Speicher bereits gefüllt!"
Exit Sub
End If
Sheets("Speicher").Select
Range("A1").Select
Sheets("SpeicherImport").Select
Range("C1:G44").Select
Selection.Copy
Sheets("Speicher").Select
Range("C2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
Range("A1").Select
Format_übertragen
Sheets("SpeicherImport").Select
Range("C1:H44").Select
Selection.Delete Shift:=xlUp
Range("C1").Select
Sheets("Speicher").Select
End Sub

Gruß
Werner
Anzeige
AW: zusammenhängende Datensätze kopieren
13.07.2005 15:34:53
DMoser
So schlecht sieht er ja nicht aus es gibt zwar ein paar dinge wo ich keinen sinn sehe aber fürn anfänger ist der wieder etwas zu gut,also du musst so was wie "lacht nicht" reinschreiben,ok
AW: zusammenhängende Datensätze kopieren
13.07.2005 15:35:12
Eule
Hi Werner
dieser 2. Satz ist bereits falsch
If Range("Speicher!c2") "" Then
korrigiere:
If Sheets("Speicher").Range("C2")....
weiter hab ich nichts getestet.
ansonsten: lass die SELECTS weg
Gruss Eule
AW: zusammenhängende Datensätze kopieren
13.07.2005 16:35:25
IngGi
Hallo Werner,
so müsste es gehen:

Sub archivieren()
Dim i As Integer
If ThisWorkbook.Sheets("Speicher").Range("C2") <> "" Then
MsgBox ("Speicher bereits gefüllt!")
Else
i = 40
'i von 40 ausgehend hochzählen, bis anderer Kunde
Do While ThisWorkbook.Sheets("SpeicherImport").Range("C1").Offset(i, 0) = _
ThisWorkbook.Sheets("SpeicherImport").Range("C1").Offset(i + 1, 0)
i = i + 1
Loop
i = i + 1
If i > 43 Then 'wenn mehr als 43 Einträge zu kopieren wären...
i = 40
'... i von 40 ausgehend runterzählen bis anderer Kunde
Do While ThisWorkbook.Sheets("SpeicherImport").Range("C1").Offset(i, 0) = _
ThisWorkbook.Sheets("SpeicherImport").Range("C1").Offset(i - 1, 0)
i = i - 1
Loop
'i enthält jetzt die Anzahl Zeilen - ab Zeile 1 gerechnet - bis zur letzten zu kopierenden Zeile
End If
ThisWorkbook.Sheets("SpeicherImport").Range("C1:G" & i).Copy _
Destination:=ThisWorkbook.Sheets("Speicher").Range("C2")
ThisWorkbook.Sheets("SpeicherImport").Range("C1:G" & i).Delete Shift:=xlUp
End If
End Sub

Gruß Ingolf
Anzeige
AW: zusammenhängende Datensätze kopieren
14.07.2005 07:18:20
Werner
Geil! Das scheint tatsächlich zu funktionieren. ;-)
VIELEN DANK!
Dieses Forum ist echt klasse!
Werner
Geschlossen o.T.
14.07.2005 10:17:18
IngGi

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige