Live-Forum - Die aktuellen Beiträge
Datum
Titel
20.05.2025 16:19:36
20.05.2025 15:34:36
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Abfrage beim Kopieren von Zeilen

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

Anzeige

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

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige