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

Anfänger: daten von mehreren dateien verarbeiten

Anfänger: daten von mehreren dateien verarbeiten
11.07.2008 20:42:00
mehreren
Guten Abend,
ich bin absoluter Excel Anfänger.
Jetzt habe ich auf der Arbeit den Auftrag bekommen Daten aus ca. über 360 Excel Tabellen (jeweils ein Sheet) in ein Sheet zusammen zu fügen.
Das wäre so oder so schon eine Scheissarbeit (jedes Quartal muss das gemacht werden), wird aber noch zusätzlich erschwert durch:
1. Das Sheet aus dem die Daten kommen, ist ausgeblendet
2. Alle Blätter dieser Arbeitsmappe sind per Blattschutz (passwort kenne ich und ist für alle Blätter aller Dateien das gleiche)
3. Zusätzlich ist auch unter "Arbeitsmappe schützen" das Passwort eingetragen.
Das bedeutet für mich, dass ich (Ab 15 Juli gehts los) dass ich 360 files (alle sind im gleichen Folder abgespeichert) öffnen muss, den blattschutz entfernen muss, dann das ensprechende sheet einblenden muss, den bereich a1 - u20 kopieren muss und dass dann ins neue blatt einfügen muss.
Dann den gleichen arbeitsschritt 360 mal wiederholen und jeweils die Daten untereinander eintragen.
Die Daten werden dabei in jedem Quartal überschrieben...
Das geht, ist aber einfach scheiss viel Arbeit :-)
So, jetzt habe ich mir aber überlegt, dass es doch mit einem Makro (der Ersteller der Files arbeitet leider nicht mehr bei uns, daher kann ich ihn nicht fragne) möglich sei sollte, dass alles zu automatisieren.
Ich habe zwar keine Ahnung von Makros und meine Excelkenntnisse sind auch nicht gut, aber meine Logik sagt mir, dass das ja alles sich immer wieder Wiederholende Arbeitsschritte sind...
Daher sollte ein Makro sowas doch können?
Mit dem Makroeditor habe ich jetzt rumgespielt, aber leider hört es schon mein Blattschutz auf.. den muss ich immer noch händisch eingeben...)
Meine Frage ist jetzt, ob das mit einem Makro geht, oder ob es noch eine bessere Variante gibt.
Wenn das mit Makros geht, würde ich mich gerne daran versuchen, so es vielleicht reicht, schon vorhandene Codeschnipsel zusammen zu fügen...
Kann mir dabei jemand von Euch (Idiotensicher) helfen?
Grüsse von Bastian

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ungetestet
11.07.2008 21:06:54
Tino
Hallo,
Teste mal diesen Code, muss leider auf die Nachtschicht und kann eventuelle Fehler erst morgen beheben.
Passwörter und Pfad musst Du noch anpassen.
Ungetestet!!!!!

Option Explicit
Sub ExcelToTxt()
Dim meDatei As Workbook
Dim FName$
Const PassTabelle As String = "Passwort" 'Passwort Tabelle
Const PassDatei As String = "Passwort" 'Passwort Datei
'On Error GoTo goError
FName = Dir(“C:\MeineDateien\*.xls") 'Pfad angeben
EventAusAn False
While FName  ""
If FName  ThisWorkbook.Name Then
Set meDatei = Workbooks.Open(FName, , , , PassDatei)
With meDatei.Sheets(2)
.Visible = True
.Unprotect PassTabelle
.Range("A1:U20").Copy
End With
With ThisWorkbook.Sheets(1)
.Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial
End With
meDatei.Close False
End If
FName = Dir()
Wend
goError:
EventAusAn
End Sub
Sub EventAusAn(Optional Zustand As Boolean = True)
Static ZustandAlt As Long
If Zustand = False Then ZustandAlt = Application.Calculation
With Application
.EnableEvents = Zustand
.ScreenUpdating = Zustand
.DisplayAlerts = Zustand
.Calculation = IIf(Zustand = True, ZustandAlt, xlCalculationManual)
End With
End Sub


Gruß Tino

www.VBA-Excel.de


Anzeige
AW: Ungetestet
11.07.2008 21:39:42
Bastian
Hallo Tino,
vielen vielen Dank für die rasend schnelle Antwort!!
Eine Frage habe ich aber noch:
wo lege ich das sheet fest aus dem die daten kopiert werden sollen?
Grüsse
Bastian

AW: Ungetestet
11.07.2008 21:45:22
Bastian
ups.. und noch eine frage.
wo füge ich den code ein?
gruss
bastian

AW: Ungetestet
11.07.2008 21:56:15
Tino
Hallo,
schreibe vom pocket aus.
also die tabelle ist im code die sheets(2), ist die position in der datei.
den code fügst du in die datei ein wo die daten eingelesen werden sollen, am bessten in ein modul und weist diesem ein button zu.
Gruß Tino

AW: Ungetestet
12.07.2008 07:55:00
Tino
Hallo,
habe Dir dies mal in einer Datei zusammengebastelt, Kommentare sind im Code.
https://www.herber.de/bbs/user/53766.xls
Kleine Hilfe.
Sheets(2)
Damit wird die Tabelle angesprochen, die sich an der zweiten Stelle in der Datei befindet.
Sheets(3)
wäre dann die Tabelle an dritter Stelle.
Sind die Tabellennamen immer gleich, kann man diese auch mit den Namen ansprechen.
Bsp.: Sheets ("Tabelle2")
Gruß Tino

www.VBA-Excel.de


Anzeige
AW: Ungetestet
12.07.2008 12:19:00
Bastian
Hallo Tino,
mhh leider funktioniert das nicht. Ich habe keine Ahnung warum.
Also, alle Exceldateien sind absolut identisch aufgebaut. Lediglich die jeweiligen Aussendienstmitarbeiter tragen in dafür freigegebenen Felder ihre Daten ein.
All das wird in einem Sheet ("database") zusammengetragen.
Jedes Shett ist Blattgeschützt. (jedes seperat).
Was ich zur Zeit mache um das kopieren zu können ist folgendes Excelmakro (war schon vorhanden) auszuführen.

Sub free()
ThisWorkbook.Unprotect "test"
pwdelete
Sheets("sheet1").Visible = True
Sheets("sheet2").Visible = True
Sheets("sheet3").Visible = True
Sheets("sheet4").Visible = True
Sheets("sheet5").Visible = True
Sheets("sheet6").Visible = True
Sheets("sheet7").Visible = True
Sheets("sheet8").Visible = True
Sheets("sheet9").Visible = True
Sheets("sheet10").Visible = True
Sheets("database").Visible = True
Sheets("sheet11").Select
Range("F2").Select
End Sub



Sub pwdelete()
For i = 1 To ActiveWorkbook.Sheets.Count
Sheets(i).Unprotect Password:="test"
Next
End Sub


jetzt habe ich follzugriff auf die Datei.
Und jetzt kopiere ich die von "database" in das neue Excelfile.
Wenn ich das gemacht habe, führe ich wieder ein Makro aus, dass den Blattschutz und die ganzen versteckten Dateien wieder einfügt....
Hilft Dir das weiter?
Ich habe ansonsten keine Ahnung wo der Fehler liegen könnte.
Viele Grüsse
Bastian

Anzeige
AW: Ungetestet
12.07.2008 16:05:03
Tino
Hallo,
stell mal eine solche Datei hier rein,
Passwörter kannst du verändern und auch die die Daten.
Gruß Tino

www.VBA-Excel.de


AW: Ungetestet
14.07.2008 09:48:00
Bastian
Hallo Tino,
hier die Datei gezippt als xlsl.
Sonst ist sie grösser als 300 kb.
https://www.herber.de/bbs/user/53790.zip
Die Datei sieht jetzt ziemilch bescheiden aus. Ich musste halt alles rausnehmen, was auch nur annähernd unter das Thema Datenschutz fallen könnte....
Ich hoffe Du kommst damit zurrecht.
Das Passwort für alles ist "test".
Viele Grüsse
Bastian

Anzeige
AW: Ungetestet
14.07.2008 11:50:00
Tino
Hallo,
versuche es mal hiermit.
Die Datei LeseDateien.xlsm ist die Datei zum lesen und muss sich im gleichen Ordner befinden.
https://www.herber.de/bbs/user/53797.zip
Bei über 300 Dateien, musst Du dem Tool etwas Zeit geben, am Schluss kommt eine Meldung.
Gruß Tino

www.VBA-Excel.de


AW: Ungetestet
14.07.2008 13:59:00
Bastian
Hallo nochmals.
und wenn ich die beiden von dir geschickten Dateien nehme, erhalte ich folgende Meldung: Userbild
allerdings kopiert er richtig....?
gruss
bastian

Anzeige
AW: Ungetestet
14.07.2008 14:05:00
Bastian
und noch ein letzter punkt...
ist es möglich nur die inhalte zu kopieren, also keine formeln, keine bezüge, nur die Ergebnisse?
uiuii, jetzt hilfst du mir hier und ich bombadiere dich auch noch mit "wünschen"...
danke danke danke!!
grüsse
bastian

AW: Ungetestet
14.07.2008 14:31:09
Tino
Hallo,
also bei mir funktioniert diese Testdatei ohne Probleme, hast du irgendwelche Anpassungen gemacht?
Userbild
Hier die Änderung nur die Werte Kopieren.
https://www.herber.de/bbs/user/53803.zip
Gruß Tino

www.VBA-Excel.de


Anzeige
AW: getestet
14.07.2008 14:37:00
Tino
Hallo,
habe es jetzt nochmal mit weiteren 35 Kopien getestet.
Funktioniert super ohne Fehler!
Userbild
Gruß Tino

www.VBA-Excel.de


AW: getestet
14.07.2008 14:42:37
Bastian
Hallo Tino,
ich glaube ich weiss was das problem ist.
Ich habe einen Fehler gemacht. Ich habe Dir eine xlsm Datei geschickt, weil ich mit Excel 2007 arbeite.
Die Mitarbeiter arbeirten aber mit 2003 und schicken uns daher xls dateien.
Kann es sein, dass xlsm nicht mit xls harmoniert?
Viele Grüsse und Dank
Bastian

Anzeige
AW: getestet
14.07.2008 14:58:00
Tino
Hallo,
in bestimmten Fällen kann man davon ausgehen, gebe mir mal eine 2003er Version wo der vermeintliche Fehler auftritt zum testen.
Muss aber jetzt mal an die Luft, also bis später wenn du möchtest!?
Gruß Tino

www.VBA-Excel.de


AW: getestet
14.07.2008 17:03:50
Bastian
Jetzt hab ich es: :)
Also, das Problem ist:
Userbild
Die Originaldateien haben hier das Passwort "test" eingetragen und damit "Struktur und Windows" geschützt.
Dass hebt Dein Makro zur Zeit noch nicht auf.
Wenn ich den Schutz manuel wegnehme und die Datei dann abspeichere, kann ich alles vollkommen problemlos über Dein Makro abfragen..
Also ist das Problem hier:
Der Blattschutz wird weggenommen
Der "nicht vorhandene" Dateischutz könnte weggenommen werden
Aber der Arbeitsmappenschutz besteht wetier...
Viele Grüsse Bastian

Anzeige
AW: getestet
14.07.2008 17:29:00
Tino
Hallo,
füge im Code vor der Zeile
.Visible = True
Diese Code- Zeile ein:
meDatei.Unprotect PassTabelle
Ps: dieser Schutz war in deiner Beispielmappe nicht gesetzt!
Gruß Tino

www.VBA-Excel.de


AW: getestet
14.07.2008 17:36:27
Bastian
sorry sorry.
du hast recht!!
tausend dank für deine hilfe.
das funktioniert super und spart mir stundenlange arbeit!!!
perfekt!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige