Registriert seit: 13.10.2016
Version(en): Office 2010
31.05.2017, 23:17
Hallo,
ich möchte gerne wissen, wie man sowas automatisiert. Bin ein Laie, was VBA angeht und lerne gerade ;)
Es geht um folgendes:
Ich will, dass wenn ich jeden Tag diese Excel-Datei öffne eine Zeile am Ende des Tages dick unterstrichen wird und bei einer bestimme Zelle das neue heutige Datum eingefügt wird.
Und dies ändert sich dann jeden Tag von automatisch, sobald ich die Datei öffne.
Hier mal nachgebildet, um es verständlicher zu machen:
[img]
Dateiupload bitte im Forum! So geht es: Klick mich!]
Vielen Dank für eure Hilfe!
Registriert seit: 10.04.2014
Version(en): 2016 + 365
Hi,
(31.05.2017, 23:17)Thanatos schrieb: Ich will, dass wenn ich jeden Tag diese Excel-Datei öffne eine Zeile am Ende des Tages dick unterstrichen wird und bei einer bestimme Zelle das neue heutige Datum eingefügt wird.
Die Infos sind etwas dürftig:
nach welcher Bedingung soll welche Zelle unterstrichen werden und in welche Zelle soll das heutige Datum eingetragen werden?
Also stelle bitte (D)eine (Beispiel-)Tabelle als Excel-Datei zur Verfügung oder stelle die relevanten Ausschnitte und die Makro-Codes hier dar, siehe die als
Wichtige Themen: markierten Beiträge im Forum "Nutzungs- und Bedienungshinweise" bei "Forumstechnik".
- Eine Beispieldatei muss vom Aufbau her zwingend dem Original gleichen, sonst wird's mit gezielter Hilfe i. d. R. nichts oder erst nach zig Nachfragen
- Meistens reichen 10-15 Datensätze
- Sensible Daten sollen anonymisiert werden
- Bei einigen Datensätzen sollte unbedingt händisch das Wunschergebnis eingetragen sein
- Und last but not least ist es wichtig, im Post zugeschnitten auf die Beispieldatei eine ordentliche Problembeschreibung abzugeben.
Die
farbigen Texte sind anklickbare Links:
Hier steht, wie es geht:
Beitrag 1
WICHTIG: Arbeitsmappen zur Verfügung stellen
Beitrag 2
WICHTIG: Tabellenausschnitte und VBA-Codes im Forum einstellen
Eine Bitte:
Anstatt Screenshots ist eine Datei oder ein Ausschnitt besser!
"Du gehst ja auch nicht in die Werkstatt und gibst ein Foto Deines kaputten Autos ab!"
Folgende(r) 1 Nutzer sagt Danke an Rabe für diesen Beitrag:1 Nutzer sagt Danke an Rabe für diesen Beitrag 28
• Thanatos
Registriert seit: 28.05.2014
Version(en): 2013 / 2016
01.06.2017, 12:11
(Dieser Beitrag wurde zuletzt bearbeitet: 01.06.2017, 12:11 von GMG-CC.)
Moin Ralf,
die Forderung an sich scheint mir klar.
Nur die Rahmenbedingungen nicht.
Und ja, auch ich arbeite lieber mit als *.xlsx vorhandenen Daten, das erspart Missverständnisse und unnötige Arbeit.
Ich denke: Wenn das Workbook geöffnet wird, soll unterhalb der letzten beschriebenen Zeile ein dicker Rahmen eingefügt werden und in der Zeile darunter in Spalte_C das aktuelle datum.
So weit, so klar (erscheinend). Aber was ist, wenn das WB mehrfach am Tag geöffnet wird? "Machen wir nicht" ist eine Ausrede, denn es soll ja vorkommen, dass sich ein Rechner einmal aufhängt ...
Und ach ja, wenn das WB nur mal eben zum Nachsehen geöffnet wird, ohne dass ein weiterer Wert in die neue Zeile eingetragen wird?
Beste Grüße
Günther
Excel-ist-sexy.de …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
das wäre mein Ansatz:
Code:
Private Sub Workbook_Open()
'Mit dem Blatt Tabelle1
'Wenn letzter Eintrag in C <> Heute dann
'Mit der letzen gefuellten Zelle in Spalte B
'Rahmen unter Bereich A:C dieser Zeile setzen
'rechts unterhalb der letzten gefundenen Zelle von B Datum eintragen
'Ende Mit der letzen gefuellten Zelle in Spalte B
'Ende Wenn letzter Eintrag in C <> Heute dann
'Ende Mit dem Blatt Tabelle1
End Sub
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28
• Thanatos
Registriert seit: 13.10.2016
Version(en): Office 2010
01.06.2017, 17:27
(Dieser Beitrag wurde zuletzt bearbeitet: 01.06.2017, 17:29 von Thanatos.
Bearbeitungsgrund: Anhang hinzugefügt
)
Vielen Dank für eure Antworten!
Tut mir leid. Ich füge nun die Datei und den Ausschnitt hinzu.
Code:
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Range("C5").Select
ActiveCell.FormulaR1C1 = "=TODAY()"
Wie gesagt, bin leider kein Profi..
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
01.06.2017, 17:48
(Dieser Beitrag wurde zuletzt bearbeitet: 01.06.2017, 17:49 von schauan.)
Hallöchen,
hier mal auscodiert
Code:
Private Sub Workbook_Open()
'Mit dem Blatt Tabelle1
With Sheets("Tabelle1")
'Wenn letzter Eintrag in C <> Heute dann
If Cells(Rows.Count, 3).End(xlUp) <> Date Then
'Mit der letzen gefuellten Zelle in Spalte B
With .Cells(Rows.Count, 2).End(xlUp)
'Rahmen unter Bereich A:C dieser Zeile setzen
.Offset(, -1).Resize(, 3).Borders(xlEdgeBottom).LineStyle = xlContinuous
.Offset(, -1).Resize(, 3).Borders(xlEdgeBottom).Weight = xlMedium
'rechts unterhalb der letzten gefundenen Zelle von B Datum eintragen
.Offset(1, 1) = Date
'Ende Mit der letzen gefuellten Zelle in Spalte B
End With
'Ende Wenn letzter Eintrag in C <> Heute dann
End If
'Ende Mit dem Blatt Tabelle1
End With
End Sub
Eine Datei ist aus meiner Sicht nicht nötig.
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28
• Thanatos