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

Forumthread: 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

Anzeige

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
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige