Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1372to1376
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 - cell.copy

VBA - cell.copy
05.08.2014 10:04:01
Felix
Guten Tag zusammen,
ich stehe vor einem kleinen Problem hinsichtlich meines Codes.
Hintergrund ist, dass ich ein Tabellenblatt nach einem bestimmten Wort durchsuche und wenn dieses gefunden wird, die entsprechende Zeile in ein zweites Blatt kopiert werden soll. Das funktioniert soweit auch hervorragend. Siehe Code:
  • 
    Public Sub Daten_holen()
    Dim i As Integer
    Dim cell As Range
    i = 8
    For Each cell In Tabelle1.Range("I:I")
    If Not cell Is Nothing Then
    If cell.Value = "Suchwort" Then
    cell.EntireRow.Copy Destination:=Tabelle2.Rows(i)
    i = i + 1
    End If
    End If
    Next cell
    End Sub
    


  • Nun ist es so, dass nur in den ersten 10 Spalten Daten enthalten sind. In Spalte 11 des zweiten Blattes würde ich gerne eine Formel platzieren, die nicht jedes mal überschrieben wird, wenn ich das Makro ausführe. Es soll also nicht mehr die komplette Zeile kopiert und eingefügt werden, sondern lediglich die ersten 10 Spalten (A:J). Leider komme ich an dieser Stelle nicht weiter. Alle meine Versuche sind bislang gescheitert. Ich hoffe ihr könnt mich auf den richtigen Pfad bringen.
    Vielen vielen Dank im Voraus.

    3
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: VBA - cell.copy
    05.08.2014 10:21:25
    hary
    Moin Felix
    Range(cell.Row, 1, cell.Row, 10).Copy Tabelle2.Rows(i)
    

    gruss hary

    AW: VBA - cell.copy
    05.08.2014 10:23:18
    Robert
    Hallo Felix,
    Probiere dieses:
    Option Explicit
    Public Sub Daten_holen()
    Dim i As Integer
    Dim cell As Range
    i = 8
    For Each cell In Tabelle1.Range("I:I")
    If Not cell Is Nothing Then
    If cell.Value = "Suchwort" Then
    Tabelle1.Range(Tabelle1.Cells(cell.Row, 1), Tabelle1.Cells(cell.Row, 10)).Copy  _
    Destination:=Tabelle2.Cells(i, 1)
    i = i + 1
    End If
    End If
    Next cell
    End Sub
    
    Viele Grüße
    Robert

    Anzeige
    AW: VBA - cell.copy
    05.08.2014 10:27:04
    Daniel
    Hi
    es gibt verschiedne Varianten wie man das realisieren kann.
    Ich bevorzuge diese, um nur die Spalten A-J zu kopieren:
    cell.Offset(0, 1 - cell.Column).Resize(, 10).copy Destination:=Tabelle2.Rows(i)
    
    btw, Zeilen einzeln per Schleife zu kopieren ist so ziemlich das langsamste was man tun kann.
    du könntest beispielsweise den Autofilter setzen und in Spalte I nach dem Suchwort filtern und dann alle Zeilen ausser der Zeile 1 kopieren und einfügen.
    In gefilteren Tabellen werden nur die sichtbaren Zeilen kopiert, beim Einfügen "rutschen" dann die Zeilen zusammen so dass anstelle der nicht kopierten Zeilen keine Leerzeilen entstehen.
    Noch schneller wirds, wenn du die Tabelle vorher nach Spalte I sortierst, so dass alle Zeilen, die kopiert werden müssen, direkt lückenlos untereinander stehen.
    Gruß Daniel
    Anzeige

    14 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige