Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1236to1240
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

eine Frage zu meinem Makro!

eine Frage zu meinem Makro!
Lisa
Hallo zusammen, ich habe mal eine Frage zu meinem Makro.

Sub CommandButton1_Click()
Workbooks.Open ("C:\Prüfung.xls")
Set Zieldatei = Workbooks("Prüfung.xls")
Set Quelldatei = ThisWorkbook.Worksheets("Tabelle2")
ThisWorkbook.Worksheets("Tabelle2").Range("A2:S" & Cells(Rows.Count, 1).End(xlUp).Row).Copy
Workbooks("Prüfung.xls").Sheets("Tabelle1").Range("A65536").End(xlUp).Offset(1, 0).Activate
ActiveSheet.Paste
End Sub

Ich setze die Quelldatei über
Set Quelldatei = ThisWorkbook.Worksheets("Tabelle2")
muss zusätzlich aber noch den zu kopierenden Bereich
ThisWorkbook.Worksheets, benennen!
Lasse ich This Workbook weg also
Worksheets("Tabelle2").Range("A2:S" & Cells(Rows.Count, 1).End(xlUp).Row).Copy
wird der zu kopierende Bereich falsch gesetzt!
Habe ich hier etwas falsch gemacht oder etwas vergessen oder ist es einfach so?
Ich dachte
Set Quelldatei = ThisWorkbook.Worksheets("Tabelle2")
würde reichen.
LG Lisa

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

Betreff
Benutzer
Anzeige
AW: eine Frage zu meinem Makro!
08.11.2011 20:28:48
Rudi
Hallo,
wenn du schon eine Objektvariable setzt, solltest du sie auch benutzen.
Quelldatei.Range("A2:S" & Quelldatei.Cells(Rows.Count, 1).End(xlUp).Row).Copy
Oder besser
With Quelldatei
.Range(.Cells(2, 1), .Cells(Rows.Count, 1).End(xlUp)).Copy
End With
Gruß
Rudi
AW: eine Frage zu meinem Makro!
08.11.2011 20:33:40
Josef

Hallo Lisa,
warum deklarierst du deine Variablen nicht?
Warum erstellst du Variablen, wenn du sie im Code nicht benutzt?
Sub CommandButton1_Click()
  Dim Zieldatei As Workbook, QuellTabelle As Worksheet
  
  Set Zieldatei = Workbooks.Open("C:\Prüfung.xls")
  
  Set QuellTabelle = ThisWorkbook.Worksheets("Tabelle2")
  
  With QuellTabelle
    .Range("A2:S" & .Cells(.Rows.Count, 1).End(xlUp).Row).Copy _
      Zieldatei.Sheets("Tabelle1").Range("A65536").End(xlUp).Offset(1, 0)
  End With
  
  'optional
  Zieldatei.Close True
  
  Set Zieldatei = Nothing
  Set QuellTabelle = Nothing
End Sub



« Gruß Sepp »

Anzeige
AW: vielen Danke an Euch!
09.11.2011 09:48:06
Lisa
Hallo zusammen
Die Fehler die ich mache, sind eine Resonance aus meiner Unwissenheit!
Ich versuche mich selbst einzuarbeiten und habe leider ein noch unzureichendes Wissen.
Dank eurer Antworten verstehe ich nun einiges besser und werde das Wissen auch umsetzen und anwenden.
vielen lieben Dank an Euch! Lisa

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige