Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
624to628
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
624to628
624to628
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Kopieren von Zeilen in andere Arbeitsmappe

Kopieren von Zeilen in andere Arbeitsmappe
22.06.2005 10:23:44
Zeilen
Hallo,
ich habe noch nie was mit VBA gemacht und sitze jetzt schon zimlich lang dran. Könnt ihr mir vielleicht helfen woran es liegt.
Mein Problem:
Ich habe mehrere Arbeitsmappen in den aber der Zeile 7 von A bis F eine Aufgabenliste von jedem Mitarbeiter steht. Diese Aufgabenlisten möchte ich in eine andere Arbeitsmappe (Aufgabenliste_Team.xls ) reinkopieren. Der Kopiervorgang soll mit dem Klicken auf den Button „Auffüllen“ in der Arbeitsmappe Aufgaben_Team.xls angestoßen werden. Die Teamnamen stehen in dem Sheet Team in der Arbeitsmappe Aufgabenliste_Team.
Mein derzeitiger fehlerhafte Code sieht so aus:

Option Explicit
Private Sub btauffuellen_Click()
Dim zielDatei As Workbook
Dim quellDatei As Workbook
Dim dateiName As String
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim aufgabenVorhanden As Boolean
Dim aufgaben As Variant
Dim aufgabenPunkte() As Variant
Set zielDatei = ActiveWorkbook
'Abschalten der Warnmeldungen und der Screenaktualisierung
Application.DisplayAlerts = False
Application.ScreenUpdating = False
'Bereinigen der Zieldatei
zielDatei.Sheets("Aufgaben").Select
ActiveSheet.Range("A7:I200").Delete
'Auslesen der Dateinamen, die ausgelesen werden sollen
Sheets("Team").Select
Sheets("Team").Range("A1").Select
Do Until ActiveCell.Value = ""
dateiName = ActiveCell.Value
ActiveCell.Offset(1, 0).Select
If Dir(ThisWorkbook.Path & "\aufgaben_" & dateiName & ".xls") = "" Then
MsgBox ("Die Datei  & aufgaben_ & dateiName & .xls liegt nicht in dem gleichen Verzeichnis wie die Zieldatei"), vbCritical, "Datenbank nicht gefunden!"
Exit Sub
Else
Workbooks.Open Filename:=ThisWorkbook.Path & "\aufgaben_" & dateiName & ".xls"
End If
'Aktivierung der Quelldatei
Set quellDatei = ActiveWorkbook
ActiveSheet.Range("F6").Select
aufgabenVorhanden = False
'Wenn Aufgaben vorhanden sind
If ActiveCell <> "" Then
aufgabenVorhanden = True
Do Until ActiveCell = "" And i > 30
aufgabenPunkte(i, k) = ActiveCell.Value
i = 5
i = i + 1
For k = 1 To 5 Step 1
k = k + 1
Next k
Loop
End If
'Nach dem Auslesen der Aufgaben
quellDatei.Close
j = 0
zielDatei.Sheets("Aufgaben").Select
If aufgabenVorhanden Then
ActiveCell.Value = dateiName
ActiveCell.Offset(2, 0).Select
Do Until j >= i
Loop
End If
Loop
zielDatei.Sheets("Aufgaben").Select
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

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

Betreff
Datum
Anwender
Anzeige
Ich glaube mir ist nicht mehr zu helfen
22.06.2005 14:43:41
philipp
... wenn ich so einen riesen Text angebe.
Ich glaube, ich beschränke mal das ganz ein bisschen:
Mir gehts eigentlich mehr um das hier:
Do Until ActiveCell = "" And i &gt 30

aufgabenPunkte(i, k) = ActiveCell.Value
i = 5
i = i + 1
For k = 1 To 5 Step 1
k = k + 1
Next k

Loop


End If
Hier wollte ich eigentlich ein zweidimensionales Array erstellen, dass den Inhalt, einer Arbeitsmappe ausliest. Aber das funktioniert einfach nicht. Fehlermeldung war glaub ich: Falscher Index
Könnt ihr mir helfen
Grußf philipp
Anzeige
AW: Ich glaube mir ist nicht mehr zu helfen
22.06.2005 15:25:53
Martin
Hallo Philipp,
was willst Du denn mit diesem Code erreichen, der ist - mit Verlaub, nicht böse gemeint - einfach nur Unsinn.
Do Until ActiveCell = "" And i &gt 30

aufgabenPunkte(i, k) = ActiveCell.Value
i = 5
i = i + 1
For k = 1 To 5 Step 1
k = k + 1
Next k

Loop
1) i kann nie &gt30 werden, da es innerhalb der Do-Schleife in jedem Durchlauf auf 5 gesetzt wird.
2) k ist überhaupt noch nicht belegt, daher kann aufgabenPunkte(i, k) = ActiveCell.Value nicht funktionieren.
3) ActiveCell.Value bleibt immer gleich, da die aktive Zelle in der Schleife nicht verändert wird.
4) Wieso änderst Du in der For-Schleife den Wert des Laufindizes K?
Lange Rede kurzer Sinn: Beschreibe am besten die Aufgabenstellung noch einmal vollständig, detailliert und präzise, dann kann man den Code evtl. neu aufbauen.
Gruß
Martin Beck
Anzeige
AW: Ich glaube mir ist nicht mehr zu helfen
22.06.2005 21:58:50
philipp
Ups, wußte garnicht das es so schlimm ist.
Also gut, ich probier nochmal den Sachverhalt ein bisschen genauer zu beschreiben:
Ich habe circa vier bis fünf Arbeitsmappen. Jede Arbeitsmappe gehört einem Teammitglied in denen er seine Aufgabenliste(Aufgabenliste_NAME.xls) in die Tabelle1 reinschreibt. Die Liste fängt in der Spalte A7 bis F7 an und ist je nachdem wieviel das Teammitglied zu tun hat etwas länger oder kürzer (Die Aufgabenliste braucht also mehr oder weniger Zeilen) . Alle Teamlisten möchte ich in eine andere Arbeitsmappe (Aufgabenliste_Team.xls) kopieren lassen. Diese Arbeitsmappe beinhaltet zwei Tabellen. Die erste Tabelle heißt Aufgaben. In der Tabelle Aufgaben ist ein Button „auffüllen“, wenn man drauf klickt dann soll sich alle Aufgabenlisten der Teammitglieder reinzukopieren und zwar auch ab der Spalte A7 bis F7 reinkopiert werden. In der zweiten Tabelle mit dem Namen Team stehen alle Namen der Teammitglieder drin.
Ich hoffe, das ist jetzt etwas genauer beschrieben und auch verständlicher, was ich eigentlich will.
Liebe Grüße Philipp
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige