04.01.2018, 22:48
Hallo an alle fleißigen und hilfsbereiten Excel-Experten :)
ich habe eine (für mich hoch komplexe) Aufgabe bezüglich der Monatlichen Speicherung von Werten einer Tabelle:
Aufgabenbeschreibung:
Ich habe eine Tabelle A, die jeden Monat neu ausgefüllt wird. In dieser Tabelle stehen über mehrere Zeilen und Spalten hinweg Werte, aus denen sich Harvey Balls über eine bedingte Formatierung ergeben. Da die Werte jeden Monat neu eingetragen werden, hätte ich gerne die Möglichkeit diese durch einen Knopf zu speichern.
Das bedeutet die Werte aus Tabelle A sollen in ein neues Arbeitsblatt mit zum Beispiel dem Namen "Historie" übernommen werden. Für jeden Monat soll ein neuer "Absatz" entstehen. Das heißt das Makro soll nach dem Vormonat den die Werte des aktuellen Monat kopieren und den beim drücken des Knopfes aktuellen Monat eine Zeile über der Tabelle einfügen. Die einzelnen Monate sollen hierbei übereinander stehen, dass heißt die Historie wird nach unten hin (zeilenweise) erweitert. Dabei soll bei drücken des Knopfes im optimalfall überprüft werden, ob für diesen Monat bereits eine Speicherung durchgeführt wurde und falls ja, die bereits gespeicherten Werte des aktuellen Monats überschreiben.
Ich habe zur besseren Verständlichkeit eine kleine Beispieltabelle erstellt und angefügt:
Tabelle in Historie speichern.xlsm (Größe: 27,97 KB / Downloads: 6)
Ich habe bisher erst ein kleineres VBA Projekt behandelt, sodass ich nicht wirklich Ahnung davon habe und über jede Hilfe sehr dankbar bin.
Ich habe bereits im Internet einen Codes gefunden (ich habe ihn bereits angepasst und in meine Excel Datei eingefügt, funktioniert allerdings nicht wie gewünscht), der allerdings nur einen Teil meines Problems lösen würden und "nur" den gewünschten Bereich in der nächsten freien Zeile einfügen:
Hier werden nur bestimmte Zellen kopiert und der mir wichtige aktuelle Monat wird nicht übernommen und auch nicht überprüt, ob in diesem Monat bereits eine Historie erstellt wurde.
Wunschoption: Super wäre es, wenn es sogar durch ein Eingabefeld oberhalb von Tabelle A möglich wäre, durch Eingabe eines entsprechenden Monats die zu diesem Zeitpunkt eingetragenen Werte anzeigen zu lassen :)
Vielen vielen Dank für die Hilfe im Voraus!!!
Wenn ihr was nicht verstanden habt oder mehr Informationen benötigt, damit ihr mir helfen könnt fragt fragt fragt! :)
Liebe Grüße,
Rendexx
ich habe eine (für mich hoch komplexe) Aufgabe bezüglich der Monatlichen Speicherung von Werten einer Tabelle:
Aufgabenbeschreibung:
Ich habe eine Tabelle A, die jeden Monat neu ausgefüllt wird. In dieser Tabelle stehen über mehrere Zeilen und Spalten hinweg Werte, aus denen sich Harvey Balls über eine bedingte Formatierung ergeben. Da die Werte jeden Monat neu eingetragen werden, hätte ich gerne die Möglichkeit diese durch einen Knopf zu speichern.
Das bedeutet die Werte aus Tabelle A sollen in ein neues Arbeitsblatt mit zum Beispiel dem Namen "Historie" übernommen werden. Für jeden Monat soll ein neuer "Absatz" entstehen. Das heißt das Makro soll nach dem Vormonat den die Werte des aktuellen Monat kopieren und den beim drücken des Knopfes aktuellen Monat eine Zeile über der Tabelle einfügen. Die einzelnen Monate sollen hierbei übereinander stehen, dass heißt die Historie wird nach unten hin (zeilenweise) erweitert. Dabei soll bei drücken des Knopfes im optimalfall überprüft werden, ob für diesen Monat bereits eine Speicherung durchgeführt wurde und falls ja, die bereits gespeicherten Werte des aktuellen Monats überschreiben.
Ich habe zur besseren Verständlichkeit eine kleine Beispieltabelle erstellt und angefügt:
Tabelle in Historie speichern.xlsm (Größe: 27,97 KB / Downloads: 6)
Ich habe bisher erst ein kleineres VBA Projekt behandelt, sodass ich nicht wirklich Ahnung davon habe und über jede Hilfe sehr dankbar bin.
Ich habe bereits im Internet einen Codes gefunden (ich habe ihn bereits angepasst und in meine Excel Datei eingefügt, funktioniert allerdings nicht wie gewünscht), der allerdings nur einen Teil meines Problems lösen würden und "nur" den gewünschten Bereich in der nächsten freien Zeile einfügen:
Code:
Sub Schaltfläche1_Klicken()
Dim arrData As Variant
Dim lngCounter As Long
Dim lngFirstFree As Long
Dim wsData As Worksheet
Dim wsTarg As Worksheet
arrData = Array("A3:P17")
Set wsData = Sheets("Tabelle A")
Set wsTarg = Sheets("Historie")
wsData.Range("A3:P17").Copy
Application.ScreenUpdating = False
lngFirstFree = wsTarg.Cells(Rows.Count, "A").End(xlUp).Row + 1
For lngCounter = LBound(arrData) To UBound(arrData)
With wsData.Range(arrData(lngCounter))
wsTarg.Cells(lngFirstFree, lngCounter + 1).Value = .Value
End With
Next lngCounter
Set wsTarg = Nothing
Set wsData = Nothing
Application.ScreenUpdating = True
End Sub
Hier werden nur bestimmte Zellen kopiert und der mir wichtige aktuelle Monat wird nicht übernommen und auch nicht überprüt, ob in diesem Monat bereits eine Historie erstellt wurde.
Wunschoption: Super wäre es, wenn es sogar durch ein Eingabefeld oberhalb von Tabelle A möglich wäre, durch Eingabe eines entsprechenden Monats die zu diesem Zeitpunkt eingetragenen Werte anzeigen zu lassen :)
Vielen vielen Dank für die Hilfe im Voraus!!!
Wenn ihr was nicht verstanden habt oder mehr Informationen benötigt, damit ihr mir helfen könnt fragt fragt fragt! :)
Liebe Grüße,
Rendexx