Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1012to1016
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
Abfrage beim Kopieren von Zeilen
03.10.2008 19:48:00
Zeilen
Hallo, das nachfolgende Makro (weiter unten) habe ich hier im Forum erhalten und benötige nach einigen Tests die Abfrage nach der Datei nicht mehr.
Ich benötige nur noch die Abfrage nach dem "Ziel"-Tabellenblatt. Dieser Name soll beim Start des Makros eingegeben werden. Bei erneutem Start des Makros soll der eingegebene Tabellenblattname allerdings überschreibbar sein und wieder solange eingetragen bleiben bis er erneut editiert wird.
Wenn ich aber die nachfolgenden Zeilen entferne meckert VBA.
Was habe ich im Makro zuviel entfernt?
Dim Datei As String
Datei = InputBox("Bitte Datei eingeben", , Sheets("Projektdaten").Cells(1, 1).Value)
Sheets("Projektdaten").Cells(1, 1).Value = Datei
Die "Originalzeilen", die kopiert und in das neue bereits angelegte Tabellenblatt (dafür die Abfrage) eingefügt werden sollen, stehen weiterhin im Tabellenblatt Vorlage in den Zeilen 7 bis 15.

Sub BereichKopieren()
Dim Datei As String
Dim Tabelle As String
Dim ws As Worksheet, wsZ As Worksheet, efz%
Datei = InputBox("Bitte Datei eingeben", , Sheets("Projektdaten").Cells(1, 1).Value)
Sheets("Projektdaten").Cells(1, 1).Value = Datei
Tabelle = InputBox("Bitte Tabellenblatt eingeben", , Sheets("T").Cells(2, 1).Value)
Sheets("Tabelle1").Cells(2, 1).Value = Tabelle
Set ws = ThisWorkbook.Worksheets("Vorlage")
Set wsZ = Workbooks(Datei).Worksheets(Tabelle)
efz = wsZ.Cells(Rows.Count, 1).End(xlUp).Row + 1
ws.Rows("7:15").Copy wsZ.Cells(efz, 1)
End Sub


liebe Grüsse
obelix

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

Betreff
Datum
Anwender
Anzeige
AW: Abfrage beim Kopieren von Zeilen
03.10.2008 20:07:00
Zeilen
Hallo,
Du benötigst die Variable "Datei" der InputBox noch in dieser Zeile
Set wsZ = Workbooks(Datei).Worksheets(Tabelle)
entferne diese auch!
Gruß Tino
AW: Abfrage beim Kopieren von Zeilen
03.10.2008 22:15:54
Zeilen
Hallo Tino,
danke für Deinen Rat. Aber so funktioniert das auch noch nicht ohne Debugger.
Hier bleibt der Debugger hängen:
Set wsZ = Workbooks(Datei).Worksheets(Tabelle)
Nehme ich diese vorstehende Zeile aus dem Makro, so werden die Zeilen 7 bis 15 NICHT in das abgefragte Tabellenblatt kopiert, sondern in das Tabellenblatt "Vorlage". Und dort benötige ich diese nicht.
Ich kann mir da nicht helfen ?!!
liebe Grüsse
obelix
Anzeige
AW: Abfrage beim Kopieren von Zeilen
03.10.2008 22:31:00
Zeilen
Hallo,
habe Deinen Beitrag noch mal durchgelesen, ich verstehe dies so.
Verstehen kann ich jetzt aber nicht, warum Du die zwei Zeilen löschen wolltest?
  Sub BereichKopieren()
      Dim Datei As String
      Dim Tabelle As String
      Dim ws As Worksheet, wsZ As Worksheet, efz%
      
      Datei = InputBox("Bitte Datei eingeben", , Sheets("Projektdaten").Cells(1, 1).Value)
      Sheets("Projektdaten").Cells(1, 1).Value = Datei
     
      Tabelle = InputBox("Bitte Tabellenblatt eingeben", , Sheets("T").Cells(2, 1).Value)
      Sheets("Tabelle1").Cells(2, 1).Value = Tabelle
   
      Set ws = ThisWorkbook.Worksheets(Tabelle)
      Set wsZ = Workbooks(Datei).Worksheets(Tabelle)
      
      efz = wsZ.Cells(Rows.Count, 1).End(xlUp).Row + 1
      ws.Rows("7:15").Copy wsZ.Cells(efz, 1)
      
  End Sub


Gruß Tino

Anzeige
AW: Abfrage beim Kopieren von Zeilen
03.10.2008 22:47:31
Zeilen
Hallo Tino,
hier die korrigierte Makroversion:

Sub BereichKopieren()
Dim Datei As String
Dim Tabelle As String
Dim ws As Worksheet, wsZ As Worksheet, efz%
Datei = InputBox("Bitte Datei eingeben", , Sheets("Projektdaten").Cells(1, 1).Value)
Sheets("Projektdaten").Cells(1, 1).Value = Datei
Tabelle = InputBox("Bitte Tabellenblatt eingeben", , Sheets("Projektdaten").Cells(2, 1). _
Value)
Sheets("Projektdaten").Cells(2, 1).Value = Tabelle
Set ws = ThisWorkbook.Worksheets(Tabelle)
Set wsZ = Workbooks(Datei).Worksheets(Tabelle)
efz = wsZ.Cells(Rows.Count, 1).End(xlUp).Row + 1
ws.Rows("7:15").Copy wsZ.Cells(efz, 1)
End Sub


Die Abfrage nach der Datei benötige ich nicht. Es soll nur aus der Tabelle "Vorlage" die Zeilen 7 bis 15 kopiert und an das Ende des "abgefragten" (zu editierenden) Tabellenblattes eingefügt werden.
Der Datei- und der Tabellenblattname werden, im Tabellenblatt Projektdaten gespeichert. Warum auch immer.
Das Makro klappt aber nur wenn ich es ohne die gewünschte Änderung übernehme?
liebe Grüsse obelix

Anzeige
AW: Abfrage beim Kopieren von Zeilen
03.10.2008 23:03:56
Zeilen
Hallo,
ist so jetzt richtig?
Sub BereichKopieren()
Dim ws As Worksheet, wsZ As Worksheet, efz As Long
Dim Tabelle As String

With Sheets("Projektdaten").Cells(2, 1)
  Tabelle = InputBox("Bitte Tabellenblatt eingeben", , .Value)
 .Value = Tabelle
End With
   
      Set ws = ThisWorkbook.Worksheets("Vorlage")
      Set wsZ = Sheets(Tabelle)
      
      efz = wsZ.Cells(Rows.Count, 1).End(xlUp).Row + 1
      ws.Rows("7:15").Copy wsZ.Cells(efz, 1)
      
  End Sub


Gruß Tino

Anzeige
AW: Abfrage beim Kopieren von Zeilen
04.10.2008 08:20:22
Zeilen
Hallo Tino,
ja. So ist es genau wie gewünscht.
Ich danke Dir recht herzlich für Deinen Biss, dieses Makro anzupassen.
liebe Grüsse
obelix

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige