Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Daten kopieren

Forumthread: Daten kopieren

Daten kopieren
14.12.2008 22:00:00
Jürgen
Hallo Leute,
ich benötige eure Hilfe.
Von einem Datenblatt (Tabelle1) sollen Daten in die "Auswertung" kopiert werden (Button).
Die Daten sollen jedesmal in der Tabelle angefügt werden.
Über jedem "Datensatz" soll das Datum stehen.
Wie bekomme ich die Daten immer eine Zelle weiter?
Die Daten können mehrfach am Tag gespeichert werden.
Doppelte Einträge vermeiden - Daten nach kopieren löschen (blaue Felder)?
Vielen Dank
Jürgen
https://www.herber.de/bbs/user/57617.xls
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten kopieren
14.12.2008 22:52:50
Tino
Hallo,
teste mal diesen Code.
Sub speichern()
Dim varCol

With Tabelle2
 varCol = Application.Match(CDbl(Date), .Rows(1), 0)
    If Not IsNumeric(varCol) Then
     varCol = .Cells(1, .Columns.Count).End(xlToLeft).Row + 1
    End If

 .Cells(1, varCol) = Date
 .Range(.Cells(2, varCol), .Cells(5, varCol)).Value = Tabelle1.Range("F30:F33").Value

End With

With Tabelle1
 .Range("B8:B20,F7:F16,B25:B32,F27").ClearContents
End With

End Sub


Gruß Tino

Anzeige
Fehler, Korrektur
14.12.2008 22:55:52
Tino
so ist es besser!!
Sub speichern()
Dim varCol

With Tabelle2
 varCol = Application.Match(CDbl(Date), .Rows(1), 0)
    If Not IsNumeric(varCol) Then
     varCol = .Cells(1, .Columns.Count).End(xlToLeft).Column + 1
    End If

 .Cells(1, varCol) = Date
 .Range(.Cells(2, varCol), .Cells(5, varCol)).Value = Tabelle1.Range("F30:F33").Value

End With

With Tabelle1
 .Range("B8:B20,F7:F16,B25:B32,F27").ClearContents
End With

End Sub


Anzeige
AW: Fehler, Korrektur
14.12.2008 23:21:30
Jürgen
Danke Tino,
schon ganz gut.
Leider werden die Daten immer überschrieben, statt angefügt zu werden.
erster Satz in B, zweiter in C usw.
Danke
Jürgen
AW: Fehler, Korrektur
15.12.2008 00:03:00
Tino
Hallo,
Du hattest geschrieben
Doppelte Einträge vermeiden
Also bin ich davon ausgegangen jeden Tag eins.
Sub speichern()
Dim varCol

With Tabelle2
varCol = .Cells(1, .Columns.Count).End(xlToLeft).Column + 1
 .Cells(1, varCol) = Date
 .Range(.Cells(2, varCol), .Cells(5, varCol)).Value = Tabelle1.Range("F30:F33").Value

End With

With Tabelle1
 .Range("B8:B20,F7:F16,B25:B32,F27").ClearContents
End With

End Sub


Gruß Tino

Anzeige
AW: Fehler, Korrektur
15.12.2008 01:07:00
Jürgen
Hall tino,
wiso kommt jetzt immer die Meldung "Keine Werte eingetragen!" auch wenn Daten in F27 und F33 stehen.
Die Box habe ich hinzugefügt.
Wenn nix eingetragen ist, soll nicht gespeichert werden.
- Doppelte Einträge werden durch das Löschen der Daten verhindert. -
Danke
Jürgen

Sub speichern()
Dim varCol
With Tabelle2
If (Cells(6, 27) = "" And Cells(6, 33) = "") Then
MsgBox "Keine Werte eingetragen!"
Exit Sub
End If
varCol = .Cells(1, .Columns.Count).End(xlToLeft).Column + 1
.Cells(1, varCol) = Date
.Range(.Cells(2, varCol), .Cells(8, varCol)).Value = Tabelle1.Range("F27:F33").Value
End With
With Tabelle1
.Range("B8:B20,F7:F16,B25:B32,F27").ClearContents
End With
End Sub


Anzeige
AW: Fehler, Korrektur
15.12.2008 01:18:00
Tino
Hallo,
Du hast Row (Zeile) und Column (Spalte) vertauscht. ;-)
Arbeite in diesem Fall lieber mit Range, ist verständlicher und leichter nachzuvollziehen.
Gruß Tino
AW: Fehler, Korrektur
15.12.2008 04:25:27
Jürgen
Danke!
Kaum macht mann es richtig, funktioniert es auch!
Jürgen

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige