matester
Goto Top

Keine ganzen Zeilen sondern nur den Bereich kopieren

Hallo zusammen,

Kann mir jemand sagen, wie ich bei diesem Code nicht die ganze Zeile (1) , sondern nur den Bereich von A bis G der jeweiligen Zeilen nach Tabelle2 kopieren kann (siehe Bild1)???


Sub kopieren_Daten()
Dim WkSh_Q As Worksheet
Dim WkSh_Z As Worksheet
Dim rZelle As Range
Dim sFundst As String
Dim sSuchbegriff As String
Dim lZeile_Z As Long
sSuchbegriff = "K-E*" ' der zu suchende Begriff
lZeile_Z = 2 ' die erste Ausgabezeile -1
Set WkSh_Q = Worksheets("Tabelle1") 'Quell-Tabellenblatt in Basis-Datei
Set WkSh_Z = Worksheets("Tabelle2") 'Ziel-Tabellenblatt in Stamm Datei
'Kopiervorgang starten
With WkSh_Q.Columns(1) 'Auswahl Spalte A (1=A)
Set rZelle = .Find(sSuchbegriff, LookAt:=xlWhole, LookIn:=xlValues)
If Not rZelle Is Nothing Then
sFundst = rZelle.Address
Do
lZeile_Z = lZeile_Z + 1

(1) WkSh_Q.Rows(rZelle.Row).Copy Destination:=WkSh_Z.Rows(lZeile_Z)

Set rZelle = .FindNext(rZelle)
Loop While Not rZelle Is Nothing And rZelle.Address <> sFundst
Else
End If
End With
'Kopiervorgang beenden
End Sub

Bild1
ded9d18e6fe2564d61d7adb24dfc5184


Und evtl. ein Hinweis, dass nur die jeweiligen Zellen A, C, E und G bei dem Begriff "K-E" in Tabelle2 kopiert werden (siehe Bild2).

Bild2
c17e90209e3560d42f6b572c7d9a95d4



Vielen Dank im Voraus . . .

Content-ID: 148244

Url: https://administrator.de/contentid/148244

Ausgedruckt am: 23.11.2024 um 01:11 Uhr

bastla
bastla 03.08.2010 um 18:08:36 Uhr
Goto Top
Hallo matester!

Sollte so:
WkSh_Q.Range(Cells(rZelle.Row, "A"), Cells(rZelle.Row, "G")).Copy Destination:=WkSh_Z.Cells(lZeile_Z, "A")
bzw so:
WkSh_Q.Cells(rZelle.Row, "C").Copy Destination:=WkSh_Z.Cells(lZeile_Z, "B")
gehen.

Grüße
bastla

P.S.: Falls Dir (hoffentlich) meine Darstellung des geposteten Codes besser als die Deine gefallen sollte:
matester
matester 03.08.2010 um 19:37:58 Uhr
Goto Top
Hallo bastla,

kannst du evtl. bei dem anderen noch offenen Thema "VBA Zeilen in andere Tab kopieren" zu Punkt 3 noch unterstützen (30.07.2010)???

Vielen Dank erstmal für diese schnelle Antwort.
76109
76109 03.08.2010 um 21:40:24 Uhr
Goto Top
Hallo matester, Hallo bastla!

Und wenns nur die Spalten A, C, E und G sein sollen, dann in etwa so:
With rZelle
    Union(.Cells(.Row, "A"), .Cells(.Row, "C"), .Cells(.Row, "E"), .Cells(.Row, "G")).Copy WkSh_Z.Cells(lZeile_Z, "A")  
   'oder  
    Union(.Offset(0, 0), .Offset(0, 2), .Offset(0, 4), .Offset(0, 6)).Copy WkSh_Z.Cells(lZeile_Z, "A")  
End With

@bastla
Das
WkSh_Q.Range(Cells(rZelle.Row, "A"), Cells(rZelle.Row, "G")).Copy Destination:=WkSh_Z.Cells(lZeile_Z, "A")
wohl eher so
Range(WkSh_Q.Cells(rZelle.Row, "A"), WkSh_Q.Cells(rZelle.Row, "G")).Copy Destination:=WkSh_Z.Cells(lZeile_Z, "A")

Kommt davon, wenn man nebenbei noch den Fernseher eingeschaltet hatface-smile

Gruß Dieter
matester
matester 03.08.2010 um 22:39:19 Uhr
Goto Top
Guten Tag Dieter,

die Zeile "WkSh_Q.Range(Cells(rZelle.Row, "A"), Cells(rZelle.Row, "G")).Copy Destination:=WkSh_Z.Cells(lZeile_Z, "A")"
hat bei mir funktioniert!!!

Oder habe ich etwas übersehen???
bastla
bastla 03.08.2010 um 22:51:53 Uhr
Goto Top
Hallo matester!

Dieter hat eine (sehr elegante face-smile) Lösung (bzw eigentlich sogar zwei) für das Kopieren der (nicht zusammenhängenden) Zellen aus den Spalten A, C E und G gezeigt - ich hatte aus Deinem Bild 2 ebenfalls geschlossen, dass Du das erreichen möchtest ...

Grüße
bastla
76109
76109 04.08.2010 um 17:03:40 Uhr
Goto Top
Hallo matester, Hallo bastla!

Einen hab ich noch face-wink :
With rZelle.Rows
    Union(.Columns("A"), .Columns("C"), .Columns("E"), .Columns("G")).Copy WkSh_Z.Cells(lZeile_Z, "A")   
End With

Gruß Dieter
matester
matester 04.08.2010 um 17:04:47 Uhr
Goto Top
Hallo zusammen,

meine Hausaufgabe konnte ich mit eurer Unterstützung zu 100% abschließen!!!

Vielen Dank an Dieter und an Dich für die kompetente Unterstützung!!!
Biber
Biber 04.08.2010 um 18:32:55 Uhr
Goto Top
Moin matester,

Zitat von @matester:
meine Hausaufgabe konnte ich mit eurer Unterstützung zu 100% abschließen!!!
Dann würde das Häkchen oben am Beitrag aber nicht tesafilmfarben leuchten, sondern eher wie die Galle,
die immer so schön geprickelt 'at in meine Bauchnabel, weil ich dauernd an so etwas erinnern muss.

Grüße
Biber

P.S. Ich verschiebe diesen Beitrag mal von "Visual Basic & Verwandte" nach "Office"-"Excel".
Weil... eingedampftes Kopieren nicht zusammenhängender Zellbereiche in ein befreundetes Sheet...
Das ist schon ein bisschen speziell.