Werte von Tabelle 2 in Tabelle 1 kopieren(OHNE FORMELN)

Dieses Thema Werte von Tabelle 2 in Tabelle 1 kopieren(OHNE FORMELN) im Forum "Microsoft Office Suite" wurde erstellt von JonnyHeart, 24. Juli 2006.

Thema: Werte von Tabelle 2 in Tabelle 1 kopieren(OHNE FORMELN) Hallo ! Folgendes SUB habe ich angelegt Ziel : 1) Aus Worksheet b soll Range A1 bis Q 10 nach Worksheet a kopiert...

  1. Hallo !

    Folgendes SUB habe ich angelegt

    Ziel : 1) Aus Worksheet b soll Range A1 bis Q 10 nach Worksheet a kopiert werden,
    Beginn in A1

    2) Danach soll aus Worksheet c Range A1 bis Q 10 nach Worksheet a kopiert
    werden, Beginn in A11

    Problem: Die Daten aus den einzelnen Worksheets werden mittels
    ='G:\DT\BB\[gkab.xls]Bonds'!B12
    aus einer anderen Datei gezogen.

    ---> Das Problem tritt beim kopieren von 2) auf !!

    FRAGE : WIE KANN ICH NUR DIE WERTE OHNE DIE HINTERLEGTEN FORMELN KOPIEREN ??

    -----------------------------------------------------------------------------
    Private Sub CommandButton1_Click()

    Worksheets(b).Range(A1:Q10).Copy _
    Destination:=Worksheets(a).Range(A1)

    Worksheets(c).Range(A1:Q10).Copy _
    Destination:=Worksheets(a).Range(A11)

    End Sub


    * Verschoben aus Anwendungsentwicklung & Scripting *
     
  2. Hallo JonnyHeart,

    mit der folgenden Version sollte es klappen.

    Gruß Matjes :)
    Code:
    Private Sub CommandButton1_Click()
    
      Worksheets(b).Range(A1:Q10).Copy _
          Destination:=Worksheets(a).Range(A1)
          
      Worksheets(c).Range(A1:Q10).Copy
      Worksheets(a).Activate
      Worksheets(a).Range(A11).Select
     ->Inhalte einfügen -> Werte
      Selection.PasteSpecial Paste:=xlValues, _
                             Operation:=xlNone, _
                             SkipBlanks:=False, _
                             Transpose:=False
    End Sub
     
  3. Vielen Dank schon mal...

    Leider gibts auch hier Probleme...

    Es wird nicht alles kopiert...


    Bei der ersten Formel wird die  Range(A1:Q10) hier hin kopiert:   Destination:=Worksheets(a).Range(A1)

    NEW:

    WENN NUN ABER DIE DESTINATION verändert wird :  Destination:=Worksheets(a).Range(A6)

    werden 4 Zeilen nicht kopiert !!!
     
  4. glaub ich nicht ;)

    Überschreibt der 2.te Kopiervorgang den 1.ten teilweise ?

    Gruß Matjes :)
     
  5. ich bin verblüft  ::) der macht wirklich was er will.

    Mit der 2.ten Methode für beide klappt es  :D

    Gruß Matjes :)
    Code:
      Worksheets(b).Range(A1:Q10).Copy
      Worksheets(a).Activate
      Worksheets(a).Range(A6).Select
     ->Inhalte einfügen -> Werte
      Selection.PasteSpecial Paste:=xlValues, _
                             Operation:=xlNone, _
                             SkipBlanks:=False, _
                             Transpose:=False
          
      Worksheets(c).Range(A1:Q10).Copy
      Worksheets(a).Activate
      Worksheets(a).Range(A16).Select
     ->Inhalte einfügen -> Werte
      Selection.PasteSpecial Paste:=xlValues, _
                             Operation:=xlNone, _
                             SkipBlanks:=False, _
                             Transpose:=False
    
     
  6. Super nun klappts !

    ein kleines Problem gibts noch beim Übersichtssheet..

    Ich kopiere mit deiner VBA-Formel aus den einzelnen Blättern jeweils die Range A1 bis Q50, wobei die Daten in den jeweiligen Tabellenblättern b und c aus externen Dateien gezogen werden - Es sind jedoch nicht alle Zeilen in den Einzelsheets b,c gefüllt.  Wenn nur die Range A1 bis Q20 gefüllt ist, enthalten die übrigen Zeilen 0-Werte,
    welche dann auch im Übersichtssheet auftauchen.

    Wie kann eine Formel aussehen, die im Übersichtssheet in Spalte A Zeile für Zeile durchsucht und sofern eine 0 darin steht die gesamte Zeile löscht ??

    Bsp:

    bisher:

    Haus
    Autoo
    Garten
    0
    0
    0
    0
    0
    Keller
    Dachboden

    so sollte es aussehen:
    Haus
    Autoo
    Garten
    Keller
    Dachboden
     
  7. Hallo JonnyHeart,

    dann probier mal die folgende Version.

    Gruß Matjes :)
    Code:
    Private Sub CommandButton1_Click()
      
      Const c_QUELLRANGE_AUF_B = A1:Q10
      Const c_ZIELZELLE_FUER_QUELLRANGE_AUF_B = A6
      Const c_QUELLRANGE_AUF_C = A1:Q10
      Const c_ZIELZELLE_FUER_QUELLRANGE_AUF_C = A16
      
      Dim lRowAnf As Long, lRowEnd As Long, lColAnf As Long, lColEnd As Long
      Dim bNurNullen As Boolean, z As Long, sp As Long, sTxt As String
      
      Worksheets(b).Range(c_QUELLRANGE_AUF_B).Copy
      Worksheets(a).Activate
      Worksheets(a).Range(c_ZIELZELLE_FUER_QUELLRANGE_AUF_B).Select
     ->Inhalte einfügen -> Werte
      Selection.PasteSpecial Paste:=xlValues, _
                             Operation:=xlNone, _
                             SkipBlanks:=False, _
                             Transpose:=False
          
      Worksheets(c).Range(c_QUELLRANGE_AUF_C).Copy
      Worksheets(a).Activate
      Worksheets(a).Range(c_ZIELZELLE_FUER_QUELLRANGE_AUF_C).Select
     ->Inhalte einfügen -> Werte
      Selection.PasteSpecial Paste:=xlValues, _
                             Operation:=xlNone, _
                             SkipBlanks:=False, _
                             Transpose:=False
                             
     ->Zeilen mit nur 0en im 2.Bereich löschen
      lRowAnf = Worksheets(a).Range(c_ZIELZELLE_FUER_QUELLRANGE_AUF_C).Row
      lColAnf = Worksheets(a).Range(c_ZIELZELLE_FUER_QUELLRANGE_AUF_C).Column
      lRowEnd = Worksheets(a).Range(c_ZIELZELLE_FUER_QUELLRANGE_AUF_C).Row + _
                Worksheets(c).Range(c_QUELLRANGE_AUF_C).Rows.Count - 1
      lColEnd = Worksheets(a).Range(c_ZIELZELLE_FUER_QUELLRANGE_AUF_C).Column + _
                Worksheets(c).Range(c_QUELLRANGE_AUF_C).Columns.Count - 1
      For z = lRowEnd To lRowAnf Step -1
        bNurNullen = True
        For sp = lColAnf To lColEnd
          sTxt = Worksheets(a).Cells(z, sp).Value
          If sTxt <> 0 Then bNurNullen = False: Exit For
        Next
        If bNurNullen Then Worksheets(a).Rows(z).Delete
      Next
      
     ->Zeilen mit nur 0en im 21.Bereich löschen
      lRowAnf = Worksheets(a).Range(c_ZIELZELLE_FUER_QUELLRANGE_AUF_B).Row
      lColAnf = Worksheets(a).Range(c_ZIELZELLE_FUER_QUELLRANGE_AUF_B).Column
      lRowEnd = Worksheets(a).Range(c_ZIELZELLE_FUER_QUELLRANGE_AUF_B).Row + _
                Worksheets(b).Range(c_QUELLRANGE_AUF_B).Rows.Count - 1
      lColEnd = Worksheets(a).Range(c_ZIELZELLE_FUER_QUELLRANGE_AUF_B).Column + _
                Worksheets(b).Range(c_QUELLRANGE_AUF_B).Columns.Count - 1
      For z = lRowEnd To lRowAnf Step -1
        bNurNullen = True
        For sp = lColAnf To lColEnd
          sTxt = Worksheets(a).Cells(z, sp).Value
          If sTxt <> 0 Then bNurNullen = False: Exit For
        Next
        If bNurNullen Then Worksheets(a).Rows(z).Delete
      Next
      
    End Sub
     
  8. Vielen Dank für die Hilfe !

    passt perfekt !!!

    Gruß

    JONNY
     
Die Seite wird geladen...

Werte von Tabelle 2 in Tabelle 1 kopieren(OHNE FORMELN) - Ähnliche Themen

Forum Datum
Excel Tabelle Werte zu ordnen Microsoft Office Suite 23. Sep. 2016
Excel - Werte unterschiedlicher Tabellenblätter für Übersicht automatisch ziehen Microsoft Office Suite 22. Aug. 2010
Re: Liste bestimmter Werte aus allen Tabellenblättern erstellen Windows XP Forum 12. Mai 2009
Liste bestimmter Werte aus allen Tabellenblättern erstellen Windows XP Forum 12. Mai 2009
Mehrere Werte verschiedener Tabellenblätter in ein neues Tabellenblatt übernehme Windows XP Forum 3. März 2008