Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA, Wert finden, Teilbereich von Zeile kopiere

VBA, Wert finden, Teilbereich von Zeile kopiere
26.09.2016 13:28:00
Zeile
Hallo Profis,
nachdem ich mir schon die Finger wund gegoogelt habe, möchte ich hier doch mal um Hilfe fragen ...
Beispieldatei:
https://www.herber.de/bbs/user/108411.xlsm
1.) Wie kann ich den Zeilenbereich definieren, der kopiert werden soll ?
>>> Es soll nicht die ganze Zeile kopiert werden 2.) Wie kann ich den Zielbereich definieren ?
Danke für eure Hilfe,
Grüße Jens

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

Betreff
Datum
Anwender
Anzeige
AW: VBA, Wert finden, Teilbereich von Zeile kopiere
26.09.2016 13:38:32
Zeile
Hallo Jens,
ein Beispiel:
With Sheets("Tabelle1")
.Range(.Cells(1, 2), .Cells(1, 4)).Copy Sheets("Tabelle2").Cells(1, 1)
End With
Kopiert aus Blatt 1 den Bereich B1 bis D1 nach Blatt 2 A1. Vielleicht hilft es dir ja weiter.
Ggf. deinen Code separat auch noch Posten.
Gruß Werner
AW: VBA, Wert finden, Teilbereich von Zeile kopiere
26.09.2016 13:56:08
Zeile
Hallo Werner,
erstmal Danke für die Hilfe.
Also hier nochmal der separate Beispielcode.
Private Sub CommandButton1_Click()
Dim rngZelle As Range
Dim suchergebnis
Dim intletztezeile As Integer
For Each rngZelle In Worksheets("Quelle").Range(Cells(2, 1), Cells(8, 1))
'2.)... muss auch hier drin stehen! ***
With Worksheets("Quelle").Cells(1, 4)   '1.) Was hier drin steht...
Set suchergebnis = .Find(rngZelle.Value, LookIn:=xlValues)
If Not suchergebnis Is Nothing Then
intletztezeile = Worksheets("Quelle").Cells(Rows.Count, 1).End(xlUp).Row
'3.) *** kommt von 2.) Werte aus der dazugehörigen Zeile werden kopiert
Worksheets("Quelle").Rows(rngZelle.Row).EntireRow.Copy Worksheets("Ziel").Rows(intletztezeile)
End If
End With
Next rngZelle
End Sub

Anzeige
AW: VBA, Wert finden, Teilbereich von Zeile kopiere
26.09.2016 14:03:37
Zeile
Hi
wenn nicht die ganze Zeile kopiert werden soll, kannst du über INTERSECT(Zeile, Spalten) die Schnittmenge bilden.
beim Einfügen reicht es, die linke obere Zelle des Einfügebereichs anzugeben.
Excel passt dann den Einfügebereich automatisch an die Größe des kopierten Bereichs an.
Eine exakte Grössenangabe ist beim Zielbereich nur dann erforderlich, wenn du den kopierten Bereich vervielfachen willst. Bei einer 1:1-Kopie reicht die linke obere Zelle.
hier mal als Codebeispiel, kopiert werden die Spalten B-D der gefundenen Zeile:

Intersect(rngZelle.EntireRow, rngZelle.Worksheet.Range("B:D")).Copy Worksheets("Ziel").Cells(intletztezeile, 1)
eine andere Möglichkeit wäre diese, hier wird auf eine bestimmte Zelle der Zeile zugegriffen und dann mit Resize die Größe angepasst:
rngZelle.EntireRow.Cells(1, 2).Resize(, 3).copy
Gruß Daniel
Anzeige
AW: VBA, Wert finden, Teilbereich von Zeile kopiere
26.09.2016 14:42:22
Zeile
fettes Danke an Daniel
hab mit deinen Vorschlägen erfolgreich experimentiert.
Kann nun erstmal weitermachen.
Werde mich bestimmt zu anderen Problemen wieder melden.
Grüße, Jens

321 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige