Daten per Makro übertragen?

10/03/2010 - 00:39 von Peter Schürer | Report spam
Hallo Zusammen,

XL2002.

Ich soll eine Datenerfassung erstellen und komme jetzt bei der
Datenübergabe an meine Grenzen :-(
Im Blatt "Datenerfassung" stehen in $D$3 das Datum, in $G$3 das Band und
in $J$3 die Schicht.
Wir haben noch folgende Spalten:

C6 D6 E6 F6 G6 H6
I6 J6 K6
Position Soll-Stk. Ist-Stk. Packteil MA-VP Produktionszeit
Rüstzeit Stillstandszeit MA-Zulief.

In den einzelnen Zeilen werden jetzt Werte eingegeben, die nach einem
Klick auf den Button "Daten übertragen" in das Blatt "Daten_2010"
übertragen werden sollen.
Dabei soll in "Daten_2010" ab A4 nach der letzten leeren Zelle gesucht
werden und dort die Werte zeilenweise eingetragen werden. Das Datum,
Band und Schicht soll immer in Spalte A, B und C in jeder Zeile
eingetragen werden.
Das ganze 28mal, also 28 Zeilen aus "Datenerfassung" in "Daten_2010"
übertragen.
Blatt "Datenerfassung" = (Name) DatErf
Blatt "Daten_2010" = (Name) ProdDat
Hier mal mein Code:

Sub DatSpeichern()

PDat = ActiveSheet.Range("D3")
PBand = ActiveSheet.Range("G3")
PSchicht = ActiveSheet.Range("J3")

With Application
.Calculation = xlManual
.MaxChange = 0.001
End With

[ProdDat].Activate
LetzteZelle
ActiveCell.Value = PDat
ActiveCell.Offset(0, 1).Value = PBand
ActiveCell.Offset(0, 2).Value = PSchicht

With Application
.Calculation = xlAutomatic
.MaxChange = 0.001
End With

End Sub

Wie kann ich das schnell und elegant erreichen?

Danke und Gruß
Peter
 

Lesen sie die antworten

#1 Andreas Killer
10/03/2010 - 09:18 | Warnen spam
On 10 Mrz., 00:39, Peter Schürer wrote:

    C6          D6          E6         F6         G6              H6
           I6               J6              K6
Position  Soll-Stk.  Ist-Stk.  Packteil  MA-VP   Produktionszeit
Rüstzeit  Stillstandszeit  MA-Zulief.


Also in Zeile 6 stehen die Überschriften?

In den einzelnen Zeilen werden jetzt Werte eingegeben, die nach einem
Klick auf den Button "Daten übertragen" in das Blatt "Daten_2010"
übertragen werden sollen.


Generell immer alle?

Dabei soll in "Daten_2010" ab A4 nach der letzten leeren Zelle gesucht
werden und dort die Werte zeilenweise eingetragen werden. Das Datum,
Band und Schicht soll immer in Spalte A, B und C in jeder Zeile
eingetragen werden.
Das ganze 28mal, also 28 Zeilen aus "Datenerfassung" in "Daten_2010"
übertragen.


Okay, ich denke so wird es für Dich am einfachsten ggf. anzupassen
sein.

Andreas.

Sub Test()
Dim R As Range, I As Integer, Data
Dim SaveEnableEvents As Boolean
'Sicherstellen das wir im richtigen Sheet sind
Sheets("Datenerfassung").Select
With Sheets("Daten_2010")
'Ereignisse aus
SaveEnableEvents = Application.EnableEvents
Application.EnableEvents = False
'Suche erste leere Zeile unter den Daten
Set R = Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
'Das Datum, Band und Schicht soll immer in Spalte A, B und _
C in jeder Zeile eingetragen werden.
For I = 1 To 28
.Cells(R.Row + I - 1, 1) = Range("D3")
.Cells(R.Row + I - 1, 2) = Range("G3")
.Cells(R.Row + I - 1, 3) = Range("J3")
Next
'Daten kopieren
Range(Range("C6").Offset(1, 0), Range("K6").Offset(28, 0)) _
.Copy
'Daten einfügen
.Cells(R.Row + I - 1, 3).PasteSpecial xlPasteValues
'Kopiermodus aus
Application.CutCopyMode = False
'Ereignisse an
Application.EnableEvents = SaveEnableEvents
End With
End Sub

Ähnliche fragen