Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1488to1492
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 2tes Tabellenblatt archivieren

Daten in 2tes Tabellenblatt archivieren
04.05.2016 07:39:38
stef26
Guten Morgen,
ich hab da ein Problem bei dem ich kurz eure Unterstützung bräuchte.
Ich habe im Tabellenblatt 1 in der
Spalte A = Arbeitsplätze
Spalte B = Zahlen (Stundenvorrat für den Arbeitsplatz)
Ich würde gerne diese Daten per Macro in die Tabelle 2 übertragen.
Problem: Die Übertragung der Daten darf nur einmal am Tag durchgeführt werden.
D.h. hat man das Macro an dem Tag gestartet, so ist eine Übertragung erst morgen wieder möglich.
Das zweite Problem: Arbeitsplätze können in laufe der Zeit hinzukommen, D.h.
Ist in der Tabelle 1 ein Arbeitsplatz, der in der Tabelle 2 noch nicht enthalten ist, dann soll dieser nun mit aufgeführt werden.
Hab mal eine Beispiel XLS zum runterladen beigefügt damit man sich das besser vorstellen kann.
https://www.herber.de/bbs/user/105389.xlsx
Meine VBA Kenntnissen reichen dafür leider noch nicht aus.
Wer ware den so lieb und würde mir hierfür mal sagen, wie ich das machen kann.
Was ich schon mal gemacht habe ist einen Wert in eine neue Tabelle an die nächste freie Stelle zu schreiben. Aber das nun ist leider doch eine Stufe zu hoch...
Wenn ich dann das Prinzip verstanden habe, dann kann ich es auch in der Orginal Datei die viel umfangreicher ist umsetzen...
LG
Stefan

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten in 2tes Tabellenblatt archivieren
04.05.2016 08:08:04
Beverly
Hi Stefan,
eine Möglichkeit:
Sub Uebertragen()
Dim lngErste As Long
Dim intErste As Integer
Dim lngZeile As Long
Dim intSpalte As Integer
With Worksheets("Archiv")
' falls höchstes Datum in Spalte A  Anzahl belegter Spalten in Zeile 1
If Application.CountA(Columns(1)) > Application.CountA(.Rows(1)) Then
' Spalte A ab Zeile 2 kopieren
' (letzte Zeile ermittelt aus Anzahl vorhandener Daten in Spalte A)
Range(Cells(2, 1), Cells(Application.CountA(Columns(1)), 1)).Copy
.Cells(1, 2).PasteSpecial Paste:=xlAll, Transpose:=True
End If
Application.CutCopyMode = False
Application.ScreenUpdating = True
End If
End With
End Sub


Anzeige
AW: Daten in 2tes Tabellenblatt archivieren
04.05.2016 11:55:27
stef26
Hallo Beverly,
wow das ging aber schnell.
Funktioniert super.
Super und vielen Dank für deine Hilfe !
LG
Stefan

AW: Daten in 2tes Tabellenblatt archivieren
04.05.2016 09:38:07
UweD
Hallo Stefan
hier auch noch eine Lösung von mir.

Sub Archivieren()
On Error GoTo Fehler
Dim TB1, TB2, i%
Dim SP&, ZE&, LR1&, LR2&, LC&
Dim AP$, SV$
Application.ScreenUpdating = False
Set TB1 = ActiveSheet
Set TB2 = Sheets("Archiv")
ZE = 2 'ab Zeile
With TB1
LR1 = .Cells(Rows.Count, 1).End(xlUp).Row 'letzte Zeile der Spalte A
LR2 = TB2.Cells(Rows.Count, 1).End(xlUp).Row
If CDate(TB2.Cells(LR2, 1)) = Date Then
MsgBox "heute bereits erledigt"
Else
TB2.Cells(LR2 + 1, 1) = Date
For i = ZE To LR1
AP = .Cells(i, 1)
SV = .Cells(i, 2)
If WorksheetFunction.CountIf(TB2.Rows(1), AP) > 0 Then
SP = WorksheetFunction.Match(AP, TB2.Rows(1), 0)
TB2.Cells(LR2 + 1, SP) = SV
Else
LC = TB2.Cells(1, Columns.Count).End(xlToLeft).Column + 1
TB2.Cells(1, LC) = AP
TB2.Cells(LR2 + 1, LC) = SV
End If
Next
End If
End With
Fehler:
If Err.Number  0 Then MsgBox "Fehler: " & _
Err.Number & vbLf & Err.Description: Err.Clear
End Sub

Gruß UweD
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige