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

Daten in externe Excel-Datei schreiben

Daten in externe Excel-Datei schreiben
11.02.2016 14:59:46
Lutz
Hallo Zusammen,
mein folgender Code funktioniert einwandfrei.
Folgende Frage ergibt sich für mich allerdings:
Welchen Teil müsste ich anpassen wenn ich folgendes ändern möchte:
Bisher schreibt er die Daten in einen neuen Reiter in der gleichen Datei.
NEU: ich würde gerne in EINE Datei - in einem Unterordner schreiben
Vielen Dank wie immer für die Hilfe.
Lutz

Sub Schichtbericht_Neu_Erfassung_Schicht1()
Dim wksEingabe As Worksheet
Dim wksListe As Worksheet
Dim lngZeile As Long, rngZelle As Range
Set wksEingabe = Worksheets("Schichtbericht_Schicht1")  'Eingabetabellenblatt
Set wksListe = Worksheets("Auswertung")      'Tabellenblatt in das die Daten geschrieben  _
werden _
sollen
With wksListe
'nächste freie Zeile in Liste
Set rngZelle = .Cells.Find(What:="*", After:=.Range("A1"), LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlPrevious)
If rngZelle Is Nothing Then
lngZeile = 1
Else
lngZeile = rngZelle.Row + 1
End If
'Spalte A - automatisch Nummerieren
.Cells(lngZeile, 1).Value = Application.WorksheetFunction.Max(.Columns(1)) + 1
'Value definiert den Wert zu übernehmen
'Kopfdaten start aus Zeile 1 und Bearbeiter (A40)
.Cells(lngZeile, 2).Value = wksEingabe.Range("C1").Value
.Cells(lngZeile, 3).Value = wksEingabe.Range("G1").Value
.Cells(lngZeile, 4).Value = wksEingabe.Range("B1").Value
.Cells(lngZeile, 5).Value = wksEingabe.Range("A40").Value
Dim intSpalte As Integer
Dim lngAusgang As Long
lngAusgang = 13 'Beginne Zeile 13
For intSpalte = 6 To 50 Step 4      'Fülle die Spalten 6 bis 50
.Cells(lngZeile, intSpalte).Value = wksEingabe.Cells(lngAusgang, 2).Value       'Daten   _
_
_
aus 13 B
.Cells(lngZeile, intSpalte + 1).Value = wksEingabe.Cells(lngAusgang, 33).Value  'Daten   _
_
_
aus 13 AG
.Cells(lngZeile, intSpalte + 2).Value = wksEingabe.Cells(lngAusgang, 3).Value   'Daten   _
_
_
aus 13 C
.Cells(lngZeile, intSpalte + 3).Value = wksEingabe.Cells(lngAusgang, 4).Value   'Daten   _
_
_
aus 13 D
lngAusgang = lngAusgang + 1 'Zeile wird hochgezählt
Next intSpalte
.Cells(lngZeile, 723).Value = wksEingabe.Range("D40").Value 'Direkte Übernahme von D40 in    _
_
_
Spalte 723
.Cells(lngZeile, 46).Value = wksEingabe.Range("A26").Value  'Direkte Übernahme von A26 in    _
_
_
Spalte 46
.Cells(lngZeile, 47).Value = wksEingabe.Range("A27").Value  'Direkte Übernahme von A27 in    _
_
_
Spalte 47
.Cells(lngZeile, 48).Value = wksEingabe.Range("A28").Value  'Direkte Übernahme von A28 in    _
_
_
Spalte 48
.Cells(lngZeile, 49).Value = wksEingabe.Range("A29").Value  'Direkte Übernahme von A29 in    _
_
_
Spalte 49
.Cells(lngZeile, 50).Value = wksEingabe.Range("A30").Value  'Direkte Übernahme von A30 in    _
_
_
Spalte 50
lngAusgang = 13
For intSpalte = 51 To 218 Step 7    'Spalte 51 bis 218
.Cells(lngZeile, intSpalte).Resize(, 6) = _
wksEingabe.Range(wksEingabe.Cells(lngAusgang, 13), _
wksEingabe.Cells(lngAusgang, 18)).Value 'Daten von Spalte M - R in betreffender  _
Zeile
.Cells(lngZeile, intSpalte + 6) = wksEingabe.Cells(lngAusgang, 20).Value 'Daten aus  _
Zelle T der betreffenden Zeile
lngAusgang = lngAusgang + 1 'Zeile wird hochgezählt
Next intSpalte
End With
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten in externe Excel-Datei schreiben
11.02.2016 17:42:32
Herbert
Hallo Lutz,
soll nur die Tabelle "Auswertung" in eine separate AM gespeichert werden? Lade doch mal eine BeispielAM hoch.
Servus

AW: Daten in externe Excel-Datei schreiben
15.02.2016 09:53:57
Lutz
Hallo Herr Grom,
ich versuche es mal aufzuzeigen:

Sheet --> Schichtbericht_Schicht1
Hier werden die Daten durch den Erfasser (mich :-) ) eingetragen / aus Dropdowns ausgewählt
Anschließend klicke ich auf speichern und die werden im sheet --> Auswertung (nach Spalten)  _
gespeichert.
Da ich nun auch meine Kollegen mit der Datei arbeiten lassen möchte und die Erfassungsdatei  _
nicht zu groß werden soll, wäre es schön wenn folgendes passiert.
Neue Excel von mir erstellt im Pfad: C:\Ordner\auswertung.xls
sheet (Rohdaten)
Erfassung wie bisher in der bestehenden Excel
Beim betätigen des Buttons speichern:
Prüfe ob C:\Ordner\auswertung.xls geöffnet ist
Wenn nicht
Öffne C:\Ordner\auswertung.xls
Schreibe die Daten in das sheet (Rohdaten)
Schließe C:\Ordner\auswertung.xls
Ich hoffe mal das war verständlich.
Bei Bedarf lade ich von zu Hause später mal eine Datei hoch.
Vielen Dank und beste Grüße.

Anzeige

224 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige