Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
11.12.2018 15:40:08 |
Anke |
|
|
|
11.12.2018 15:48:07 |
Werner |
|
|
|
11.12.2018 15:49:45 |
Gast96048 |
|
|
|
11.12.2018 15:51:18 |
Gast96048 |
|
|
|
12.12.2018 12:44:31 |
Gast72503 |
|
|
|
12.12.2018 12:54:04 |
Anke |
|
|
|
12.12.2018 16:40:01 |
Gast96048 |
|
|
|
17.12.2018 11:25:42 |
Anke |
|
|
|
17.12.2018 13:17:20 |
Gast96048 |
|
|
|
17.12.2018 16:26:44 |
Gast65833 |
|
|
|
17.12.2018 18:05:18 |
Gast96048 |
|
|
|
17.12.2018 18:17:06 |
Gast96048 |
|
|
Loop ohne Do |
17.12.2018 19:33:39 |
Gast96048 |
|
|
|
17.12.2018 19:39:46 |
Gast79011 |
|
|
|
18.12.2018 12:07:00 |
Anke |
|
|
|
18.12.2018 13:44:40 |
Gast96048 |
|
|
Von:
Gast96048 |
Datum:
17.12.2018 19:33:39 |
Views:
496 |
Rating:
|
Antwort:
|
Thema:
Loop ohne Do |
Vorschlag zur Gemütlichkeit:
Option Explicit
Sub Allesamt()
Dim oTargetSheet As Excel.Worksheet 'mein Ziel, wo später als CSV
Dim oSourceBook As Excel.Workbook 'Quelle(n)
Dim sPfad As String
Dim sDatei As String
Dim Flag As Boolean 'Schalter ob
Dim TargetRange As Range 'Zielzelle
Dim strNeuCSV As String 'Datei speichern unter
Application.ScreenUpdating = False 'Das "Flackern" ausstellen
Application.DisplayAlerts = False 'Keine Fehlermeldungen anzeigen
'Schleife über alle Excel Dateien in einem Verzeichnis
'sPfad = "Z:\dep_Controlling-WSA\07 Monatsabschluss\ILV-Makros\Stundenerfassung\Einzelbelege\"
'****************************************
''Pfad zum Test geändert
sPfad = ThisWorkbook.Path & "\MeinTest\"
'****************************************
'
sDatei = Dir(sPfad & "*.xlsx*") 'Alle Excel Dateien
Do While sDatei <> ""
'Öffnen der Datei und Datenübertragung
If Not Flag Then
'Anfang - erste xlsx
Set oSourceBook = Workbooks.Open(sPfad & sDatei)
oSourceBook.Sheets(1).Copy
'hurra - neue Mappe
Set oTargetSheet = ActiveWorkbook.Sheets(1)
'im einzigen Arbeitsblatt
With oTargetSheet
'Quellangabe
.Rows(1).Insert
.Cells(1).Value = oSourceBook.Name
With .UsedRange
'nächstes Kopierziel
Set TargetRange = .Rows(.Rows.Count).Cells(1).Offset(2)
End With
End With
oSourceBook.Close False
'
'nie mehr wieder
Flag = True
'
Else
'
'weitere - xlsx
Set oSourceBook = Workbooks.Open(sPfad & sDatei)
'Inhalt ins Ziel
oSourceBook.Sheets(1).UsedRange.Copy TargetRange
'Quellangabe - in die leere Zeile vor
TargetRange.Offset(-1).Value = oSourceBook.Name
oSourceBook.Close False
'nächstes Kopierziel
With oTargetSheet.UsedRange
'nächstes Kopierziel
Set TargetRange = .Rows(.Rows.Count).Cells(1).Offset(2)
End With
'
End If
sDatei = Dir
Loop
'als CSV speichern
strNeuCSV = InputBox("CSV-Dateiname ", "Speichern unter", "Test")
If Len(strNeuCSV) Then
strNeuCSV = Replace(strNeuCSV, ".", "")
strNeuCSV = Replace(LCase(strNeuCSV), "csv", "")
With oTargetSheet.Parent
.SaveAs Filename:=sPfad & strNeuCSV & ".csv", _
FileFormat:=xlCSV, CreateBackup:=False, Local:=True
.Close True
End With
Else
Call MsgBox("aktive Datei " & oTargetSheet.Parent.Name, vbExclamation)
End If
End Sub
|
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
11.12.2018 15:40:08 |
Anke |
|
|
|
11.12.2018 15:48:07 |
Werner |
|
|
|
11.12.2018 15:49:45 |
Gast96048 |
|
|
|
11.12.2018 15:51:18 |
Gast96048 |
|
|
|
12.12.2018 12:44:31 |
Gast72503 |
|
|
|
12.12.2018 12:54:04 |
Anke |
|
|
|
12.12.2018 16:40:01 |
Gast96048 |
|
|
|
17.12.2018 11:25:42 |
Anke |
|
|
|
17.12.2018 13:17:20 |
Gast96048 |
|
|
|
17.12.2018 16:26:44 |
Gast65833 |
|
|
|
17.12.2018 18:05:18 |
Gast96048 |
|
|
|
17.12.2018 18:17:06 |
Gast96048 |
|
|
Loop ohne Do |
17.12.2018 19:33:39 |
Gast96048 |
|
|
|
17.12.2018 19:39:46 |
Gast79011 |
|
|
|
18.12.2018 12:07:00 |
Anke |
|
|
|
18.12.2018 13:44:40 |
Gast96048 |
|
|