Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1628to1632
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

VBA Nicht EntireRow.Copy

VBA Nicht EntireRow.Copy
29.06.2018 13:29:09
Lisa
Hallo zusammen,
ich habe einen Code geschrieben der eine Spalte nach einem Wert durschaut und dann die passenden Zeilen dazu in ein anderes Blatt schreibt.
Allerdings nutze ich die Anweisung rng.EntireRow.Copy, womit die ganze Zeile kopiert ich.
ich möchte jedoch nur den Wert aus Zelle A, B und c übertragen haben.
Hat jemand eine Lösung wie das anzupassen ist?
Wäre echt dankbar, ich sitze schon den ganzen Vormittag an dieser Herausforderung.
Vielen Dank schon einmal.
Sub FindenUndKopieren()
Dim rng As Range
Dim vWert As Variant
Dim sFirstAdress As String
vWert = InputBox( _
prompt:="Bitte Nummer eingeben:", _
Title:="Suche")
Set rng = Worksheets("Blatt1").Range("A:A").Find(vWert)
If rng Is Nothing Then
MsgBox "Wert " & Wert & " nicht gefunden!"
Else
sfirstaddress = rng.Address
Do
'Intersect(rng.EntireRow,Columns("A").Copy
' Intersect(rng.EntireRow, Columns("B:Y")).Copy
rng.EntireRow.Copy
'Range(Cells(cell.Row, "A"), Cells(cell.Row, "D")).Copy
Worksheets("Tabelle1").Cells(Rows.Count, "A").End(xlUp) _
.Offset(1, 0).PasteSpecial Paste:=xlPasteAll
Set rng = Worksheets("Blatt1").Range("A:A").FindNext(rng)
Loop While Not rng Is Nothing And rng.Address  sfirstaddress
End If
End Sub

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Nicht EntireRow.Copy
29.06.2018 13:40:41
ChrisL
Hi
Range(Cells(rng.Row, "A"), Cells(rng.Row, "C")).Copy
cu
Chris
AW: VBA Nicht EntireRow.Copy
29.06.2018 13:53:30
Lisa
Hallo Chris,
dies habe ich bereits ausprobiert und im Code aus kommentiert.
Denn das verursacht einen Laufzeitfehler 9 "Außerhalb des Bereichs".
Hast Du eine andere Idee?
VG
Lisa
AW: VBA Nicht EntireRow.Copy
29.06.2018 14:11:22
Nepumuk
Hallo Lisa,
teste mal:
Option Explicit

Public Sub FindenUndKopieren()
    
    Dim rng As Range
    Dim vWert As Variant
    Dim sFirstAdress As String
    
    vWert = InputBox(prompt:="Bitte Nummer eingeben:", Title:="Suche")
    
    With Worksheets("Blatt1")
        
        Set rng = .Columns(1).Find(vWert)
        
        If rng Is Nothing Then
            MsgBox "Wert " & vWert & " nicht gefunden!"
        Else
            sFirstAdress = rng.Address
            Do
                
                Call rng.Resize(1, 3).Copy(Destination:= _
                    Worksheets("Tabelle1").Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0))
                
                Set rng = .Columns(1).FindNext(rng)
                
            Loop Until rng.Address = sFirstAdress
        End If
    End With
End Sub

Gruß
Nepumuk
Anzeige
AW: VBA Nicht EntireRow.Copy
29.06.2018 15:42:25
Lisa
Hey Nepumuk,
funktioniert soweit super. Vielen Dank für die Mühe!
Um es perfekt zu machen hab ich noch eine kleine Frage. Gibt es eine Möglichkeit Zeile B nicht zu kopieren bzw. zu löschen?
Alternativ schau ich mal ob ich nicht zusätzlich ein Makro bauen kann welches B einfach mit C überschreibt.
Ein schönes We.
Grüße
Lisa
AW: VBA Nicht EntireRow.Copy
29.06.2018 15:47:36
Nepumuk
Hallo Lisa,
das ist nur eine kleine Änderung:
Call .Range(rng, rng.Offset(0, 1)).Copy(Destination:= _
    Worksheets("Tabelle1").Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0))

Gruß
Nepumuk
Anzeige
AW: VBA Nicht EntireRow.Copy
29.06.2018 15:51:20
Nepumuk
Ooooooooooooooops,
Denkfehler. So geht's:
Call Union(rng, rng.Offset(0, 2)).Copy(Destination:= _
    Worksheets("Tabelle1").Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0))

Gruß
Nepumuk
AW: VBA Nicht EntireRow.Copy
29.06.2018 16:15:31
Lisa
Hallo Nepumuk,
falls Du noch einen Moment hast. Deine Verbesserung funktioniert nur halbwegs oder ich bin zu unerfahren in VBA.
Es wird jetzt, je nach Anpassung zwar Zelle C oder D ausgegeben und B weggelassen aber nicht C und D zs.
Gruß
Lisa
Anzeige
AW: VBA Nicht EntireRow.Copy
29.06.2018 16:18:21
Nepumuk
Hallo Lisa,
? C und D zusammen ? in einer Zelle in Spalte B oder wie oder was?
Gruß
Nepumuk
AW: VBA Nicht EntireRow.Copy
29.06.2018 16:22:54
Lisa
Hallo Nepumuk,
sorry für meine Verwirrung.
Also Zeile A soll weiterhin in A kopiert angezeigt werden Zeile B weggelassen und dementsprechend C in B kopiert werden und D in C. Das Kopieren erfolgt jeweils in das andere Blatt (Tabelle1) statt.
Gruß
Lisa
AW: VBA Nicht EntireRow.Copy
29.06.2018 16:45:08
Nepumuk
Hallo Lisa,
Ahhhhhhhhh!!! Na dann:
Option Explicit

Public Sub FindenUndKopieren()
    
    Dim rng As Range
    Dim vWert As Variant
    Dim sFirstAdress As String
    
    vWert = InputBox(prompt:="Bitte Nummer eingeben:", Title:="Suche")
    
    With Worksheets("Blatt1")
        
        Set rng = .Columns(1).Find(vWert)
        
        If rng Is Nothing Then
            MsgBox "Wert " & vWert & " nicht gefunden!"
        Else
            sFirstAdress = rng.Address
            Do
                
                Call Union(rng, rng.Offset(0, 2).Resize(1, 2)).Copy(Destination:= _
                    Worksheets("Tabelle1").Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0))
                
                Set rng = .Columns(1).FindNext(rng)
                
            Loop Until rng.Address = sFirstAdress
        End If
    End With
End Sub

Gruß
Nepumuk
Anzeige
AW: VBA Nicht EntireRow.Copy
29.06.2018 17:43:18
Lisa
Hallo Nepumuk,
vielen vielen Dank ich werde versuchen alles zu verstehen.
Schönes We.
Gruß
Lisa
AW: VBA Nicht EntireRow.Copy
29.06.2018 16:15:31
Lisa
Hallo Nepumuk,
falls Du noch einen Moment hast. Deine Verbesserung funktioniert nur halbwegs oder ich bin zu unerfahren in VBA.
Es wird jetzt, je nach Anpassung zwar Zelle C oder D ausgegeben und B weggelassen aber nicht C und D zs.
Gruß
Lisa
AW: VBA Nicht EntireRow.Copy
29.06.2018 16:15:32
Lisa
Hallo Nepumuk,
falls Du noch einen Moment hast. Deine Verbesserung funktioniert nur halbwegs oder ich bin zu unerfahren in VBA.
Es wird jetzt, je nach Anpassung zwar Zelle C oder D ausgegeben und B weggelassen aber nicht C und D zs.
Gruß
Lisa
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige