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

Zellen und Zeilen auslesen und in neue Excel Datei kopierenauflisten

Zellen und Zeilen auslesen und in neue Excel Datei kopierenauflisten
13.11.2019 10:40:25
Dennis
Hallo zusammen,
ich bin blutiger Anfänger und habe mich gerade registriert, da ich aktuell vor einem Problem sitze und mich nicht selbst aus dem Schlamassel befreien kann.
Ich habe eine Excel Vorlage, welche als Tagesnachweis der ausgeübten Tätigkeiten im Bereich Technik/Fehlersuche dient. Die Tabelle ist folgerndermaßen aufgebaut:
C2 = Technikername
G2 =Datum
ab Zeile 6 bis 18 ( von Spalte A bis L ) Texfelder zum ankreuzen der einzelnen Tätigkeiten. Spalte L dient zusätzlich als Freitext.
C30 = Gesamtzeit der administrativen Tätigkeiten
Jeder Techniker füllt nun diesen Tagesausweis aus und schickt ihn mir per Mail zu, sodass ich eine Rückmeldung über die ausgeführten Tätigkeiten erhalte. Die Dateinen lege ich dann unter C:\ bei mir auf dem PC ab.
Um nun eine gesamte Auswertung aller Technker starten zu können, möchte ich den Inhalt der besagten Zellen und Zeilen auslesen und in einer neuen Tabelle auflisten. Die neue Tabelle soll genauso aufgebaut sein wie die Vorlage, lediglich der Inhalt der Zelle C30 soll in der Übersicht in Spalte M ab Zeile 6 auftauchen. Die Auflistung soll dann fortlaufen untereinander erfolgen.
Leere Zeilen aus der Vorlagendetei sollten dabei ignoriert werden.
Ich habe versucht ähnliche Inhlate im forum zu finden, leider ohne Erfolg. Villeicht kann mir jemand weiterhelfen

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: BeispieldateiEN
13.11.2019 11:49:08
Fennek
Hallo,
es wäre hilfreich, sowohl ein Beispiel für die (EMail)-Input-Datei als auch die Zieldatei zu zeigen.
mfg
AW: Zellen und Zeilen auslesen und in neue Excel Datei kopierenauflisten
13.11.2019 12:43:31
Dennis
Ich habe die die Tabellenvorlage für Input-Datei ( Tagesnachweis ) sowie die Vorlage zur Auswertung ( Zieldatei ) in eine Mappe gepackt.
https://www.herber.de/bbs/user/133177.xls
Die Zeildatei sollte eine separate Datei sein und die Daten sollten per Knopdruck abgerufen werden können.
AW: VBA zum Testen
13.11.2019 13:30:13
Fennek
Hallo,
schau dir diesen Code an: Nach Anpassen des Pfads wird jede Input_Datei nur einmal eingelesen:

Sub F_en()
Dim WS As Worksheet: Set WS = Sheets("Zieldatei")
Dim WBQ As Workbook
'Set WBQ = Workbooks("Dennis_Tagesnachweis.xlsx")
Pfad = ThisWorkbook.Path & "\" ' vbNullString
If GetAttr(Pfad & f) = vbReadOnly Then
Set WBQ = Workbooks.Open(Pfad & f)
lr = WS.Cells(Rows.Count, 1).End(xlUp).Row + 1
Anz = WBQ.Sheets(1).Range("A6:A18").SpecialCells(2).Count / 2
For r = 6 To 5 + Anz
WS.Cells(lr, 1) = WBQ.Sheets(1).Cells(2, 3)
WS.Cells(lr, 2) = WBQ.Sheets(1).Cells(2, 7)
WS.Cells(lr, 3) = WBQ.Sheets(1).Cells(r, 1)
WS.Cells(lr, "O") = WBQ.Sheets(1).Cells(30, 3)
For j = 3 To 11
If WBQ.Sheets(1).Cells(r, j) = "x" Then _
WS.Cells(lr, j + 2) = WBQ.Sheets(1).Cells(r, j)
Next j
lr = lr + 1
Next r
WBQ.Close 0
SetAttr Pfad & f, vbReadOnly
End If
f = Dir
Loop
End Sub
Wenn alles passt, kann der Code auch mit einem Button gestartet werden.
mfg
Anzeige
AW: kleine Änderung
13.11.2019 13:40:49
Fennek
ändere bitt die Zeile, die prüft, ob eine Datei bereits eingelesen wurden
von

If GetAttr(Pfad & f) = vbReadOnly Then
in

If GetAttr(Pfad & f)  vbReadOnly Then

AW: kleine Änderung
13.11.2019 16:39:09
Dennis
Hallo Fennek,
ich habe den Pfad angepasst und nach deiner Änderung funktioniert der Code ( für mich schon mal unglaublich ;-) )
Es wird nun jede Datei geöffnet und wieder geschlossen, und das sichtbar. Nur muss ich nun vor jedem Schließen bestätigen, ob ich die Änderung Speichern möchte oder nicht. Kann das unbemerkt im Hintergrund geschehen?
Anzeige
AW: kleine Änderung
13.11.2019 16:46:43
Dennis
Weiterhin fällt mir auf, dass die Gesamtzeit aus Zelle C30 der Vorlage für den Tagesnachweis in jede Spalte der Zieldatei geschrieben wird und das zeilenweise für jeden Auftrag. Diese sollte jedoch nur einmal pro eingelesene Datei erscheinen, da sonst die Berechnung der Gesamtzeit pro Techniker pro Tag falsch ist. Geht das?
AW: Pfade beachten
13.11.2019 17:07:22
Fennek

Sub F_en()
Dim WS As Worksheet: Set WS = Sheets("Zieldatei")
Dim WBQ As Workbook
'Set WBQ = Workbooks("Dennis_Tagesnachweis.xlsx")
Pfad = ThisWorkbook.Path & "\" ' vbNullString
If GetAttr(Pfad & f)  vbReadOnly Then
Set WBQ = GetObject(Pfad & f)
lr = WS.Cells(Rows.Count, 1).End(xlUp).Row + 1
Anz = WBQ.Sheets(1).Range("A6:A18").SpecialCells(2).Count / 2
For r = 6 To 5 + Anz
WS.Cells(lr, 1) = WBQ.Sheets(1).Cells(2, 3)
WS.Cells(lr, 2) = WBQ.Sheets(1).Cells(2, 7)
WS.Cells(lr, 3) = WBQ.Sheets(1).Cells(r, 1)
For j = 3 To 11
If WBQ.Sheets(1).Cells(r, j) = "x" Then _
WS.Cells(lr, j + 2) = WBQ.Sheets(1).Cells(r, j)
Next j
lr = lr + 1
Next r
WS.Cells(lr - 1, "O") = WBQ.Sheets(1).Cells(30, 3)
Application.DisplayAlerts = False
WBQ.Close 0
Application.DisplayAlerts = True
SetAttr Pfad & f, vbReadOnly
End If
f = Dir
Loop
End Sub

Anzeige
AW: kleine Änderung
19.11.2019 09:32:21
Dennis
Guten Morgen,
ich habe leider immer noch das Problem das der Wert aus Zelle C30 in jeder Zeile der Auswertung erscheint. Wie kann ich erreichen, dass der Wert dieser Zelle nur einmal pro Datei ausgelesen wird, er mir aber trotzdem ist der ausgewertetetn Liste richtig zugeordnet wird?
AW: kleine Änderung
13.11.2019 16:55:58
Dennis
Sorry Fennek, ich werde nicht gefragtob ich es speichern möchte, es wird gefragt ob ich Daten aktualisieren möchte oder nicht.Kann man das unterdrücken?

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige