Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
860to864
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
860to864
860to864
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datensatzauswahl in Tabelle übernehmen

Datensatzauswahl in Tabelle übernehmen
18.04.2007 11:42:01
Josef
Hallo!
Ich habe in der Tabelle 1 ca 40000 Datensätze stehen.
Ich möchte jetzt erreichen, wenn ich z.B. in der Spalte B Zeile 10 ein "ü" setze daß dieser Datensatz in die Tabelle 2 übernommen wird, jedoch ohne die Einträge in der Spalte D Zeile 10, Spalte F Zeile 10, Spalte H Zeile 10.
Wi würde bitte hier eine VBA Lösung aussehen?
Danke
Josef

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datensatzauswahl in Tabelle übernehmen
18.04.2007 12:11:56
Peter
Hallo Josef,
dann versuche es mit dem beigefügten Makro -in ein allgemeines Modul kopieren.


Option Explicit
Public Sub Kopiere()
Dim WkSh_Q     As Worksheet
Dim WkSh_Z     As Worksheet
Dim lZeile_Q   As Long
Dim lZeile_Z   As Long
Dim iSpalte_Q  As Integer
Dim iSpalte_Z  As Integer
   Application.ScreenUpdating = False
   Set WkSh_Q = Worksheets("Tabelle1")
   Set WkSh_Z = Worksheets("Tabelle2")
   For lZeile_Q = 1 To WkSh_Q.Range("A65536").End(xlUp).Row
      If LCase(WkSh_Q.Range("B" & lZeile_Q).Value) = "ü" Then
         lZeile_Z = lZeile_Z + 1
         iSpalte_Z = 1
         For iSpalte_Q = 1 To 256
            If iSpalte_Q = 4 Or iSpalte_Q = 6 Or iSpalte_Q = 8 Then
             Else
               WkSh_Z.Cells(lZeile_Z, iSpalte_Z).Value = _
               WkSh_Q.Cells(lZeile_Q, iSpalte_Q).Value
               'iSpalte_Z = iSpalte_Z + 1
            End If
            iSpalte_Z = iSpalte_Z + 1
         Next iSpalte_Q
      End If
   Next lZeile_Q
   Application.ScreenUpdating = True
End Sub 


Gruß Peter

Anzeige
AW: Datensatzauswahl in Tabelle übernehmen
18.04.2007 12:21:00
Josef
Hallo Peter!
Danke für Deine Antwort und vor allem für Deine Mühe.
Ich habe jetzt das Makro getestet.
Der erste Datensatz wird richtig in die Tabelle 2 eingetragen.
Bei den Datensätzen 4, 7 und 10 wo ich ebenfall ein ü setzte wurden nicht in die Tabelle 2 kopiert.
Danke
Josef

AW: Datensatzauswahl in Tabelle übernehmen
18.04.2007 12:33:00
Josef
Hallo Peter!
Nach einem neuerlichen Test und längerem Warten wurde jetzt der Datensatz 1 und 2 eingetragen. Die anderen Datensätze wurden wieder nicht eingetragen. Bei der Abarbeitung von ca. 40000 Datensätzen wird das wahrschewinlich eine sehr lange Wartezeit ergeben.
Gäbe es da vielleicht die Möglichkeit einer Lösung im Worksheet Ereignis mittels VBA.
Eingabe ü - nach Verlassen oder Entertaste wird der Datensatz gleich eingetragen usw.
Josef

Anzeige
AW: Datensatzauswahl in Tabelle übernehmen
18.04.2007 13:32:54
Peter
Hallo Josef,
etwas schneller könnte es so gehen:


Option Explicit
Public Sub Kopiere()
Dim WkSh_Q     As Worksheet
Dim WkSh_Z     As Worksheet
Dim lZeile_Q   As Long
Dim lZeile_Z   As Long
Dim iSpalte_Q  As Integer
Dim iSpalte_Z  As Integer
   Application.ScreenUpdating = False
   Set WkSh_Q = Worksheets("Tabelle1")
   Set WkSh_Z = Worksheets("Tabelle2")
   For lZeile_Q = 1 To WkSh_Q.Range("A65536").End(xlUp).Row
      If LCase(WkSh_Q.Range("B" & lZeile_Q).Value) = "ü" Then
         lZeile_Z = lZeile_Z + 1
         iSpalte_Z = 1
         For iSpalte_Q = 1 To WkSh_Q.Cells(lZeile_Q, 256).End(xlToLeft).Column
            If iSpalte_Q = 4 Or iSpalte_Q = 6 Or iSpalte_Q = 8 Then
             Else
               WkSh_Z.Cells(lZeile_Z, iSpalte_Z).Value = _
               WkSh_Q.Cells(lZeile_Q, iSpalte_Q).Value
               'iSpalte_Z = iSpalte_Z + 1
            End If
            iSpalte_Z = iSpalte_Z + 1
         Next iSpalte_Q
      End If
   Next lZeile_Q
   Application.ScreenUpdating = True
End Sub 


Gruß Peter

Anzeige
AW: Datensatzauswahl in Tabelle übernehmen
18.04.2007 15:36:43
Peter
Hallo Josef,
ich habe mir eine Mappe mit 40.000 Zeilen gebaut, in der jede 100ste mit ü gekennzeichet ist
und noch ein paar zusätzliche Zeilen.
Die Spalten sind meistens bis Spalte AA gefüllt.
Wenn ich nun mein Makro laufen lasse, dauert es höchstens zwei Sekunden bis alles kopiert ist.
Ich lade meine Testmappe hier hoch. Wenn du sie aufrufst, werden in die Tabelle1 die 40.000 Datensätze
eingestellt - und meim Schließen der Mappe teilweise wieder gelöscht.
Gruß Peter
https://www.herber.de/bbs/user/41847.xls

Anzeige
AW: Datensatzauswahl in Tabelle übernehmen
19.04.2007 06:04:00
Josef
Guten Morgen Peter!
Danke für Deine Antwort.
Habe jetzt nochmals getestet. Jetzt werden die Daten in die Tabelle kopiert.
Jedoch bei einer Dateigröße von 35 MB mußte ich mindestens 5-6 Minuten warten beim rüberkopieren von 371 Datensätzen.
Aber es funktioniert.
Danke für Deine Hilfe
Josef

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige