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

  • #1
J

JonnyHeart

Aktives Mitglied
Themenersteller
Dabei seit
12.01.2005
Beiträge
31
Reaktionspunkte
0
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
 
Thema:

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

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.849
Beiträge
708.001
Mitglieder
51.499
Neuestes Mitglied
sugarland
Oben