Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1544to1548
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

Datumswerte beim Öffnen und Bearbeiten hinzufügen

Datumswerte beim Öffnen und Bearbeiten hinzufügen
04.03.2017 09:31:41
Andi
Hallo, liebe Helfer,
Ich würde gern folgende Aufgabe mit VBA erledigen.
Beim Öffnen der Datei soll festgestellt werden, ob in der darin befindlichen Tabelle Namens "Bearbeitung", die Spalte "E" mit Datumsangaben versehen sind.
Der Bereich Umfasst die Spalten A-L bis zur letzten Ausgefüllten Zelle.
Wenn dort in "E" ein Datum steht, dann soll dies Belassen werden.
In den Zellen wo kein Datum vorkommt, soll in "E das Datum der letzten Speicherung der Mappe" eingetragen werden.
Wenn jetzt Datenreihen hinzugefügt, soll in E der "Datumswert heute" eingetragen werden.
https://www.herber.de/bbs/user/111941.xlsm
Wo müsste dann welcher Code hinzugefügt werden?
Grüße Andi

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
mit: BuiltinDocumentProperties ...
04.03.2017 11:37:55
Matthias
Hallo Andi
Wo müsste dann welcher Code hinzugefügt werden?
Folgender Code, gehört in: (DieseArbeitsmappe)
Option Explicit Private Sub Workbook_Open() Dim x& With Tabelle1 For x = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row If .Cells(x, 5).Value = "" Then .Cells(x, 5) = Format(ThisWorkbook.BuiltinDocumentProperties(11).Value, "DD/MM/YYYY") end if Next End With End Sub Beim Öffnen der Mappe wird geprüft ob in "E" ein Wert steht
Steht da keiner, wird das Erstelldatum dieses Dokumentes eingetragen.
Gruß Matthias
Nachtrag ...
04.03.2017 11:53:32
Matthias
Hallo
Kleiner Nachtrag wg des SchleifenStart
Da Du ja keine Überschriften in Zeile1 hast muss die Schleife mit 1 beginnen
For x = 1 to ...
Ich hatte Überschriften eingepflegt,
da lässt es sich besser filtern oder als Tabelle konvertieren.
Bearbeiten

 ABCDEFGHIJKL
1NrRaum 2BezeichnungDDatumStatusWert1Wert2Wert3JMaßnahmeEntscheidung
21ChefGeräteanschlußleitung 02.03.2017z.Z. n.V.    Stillegungnein
32 Geräteanschlußleitung 02.03.2017i.O.< 0,3> 1,0    ja
43 Kopierer 02.03.2017i.O.< 0,3> 1,0    ja
54 Kopierer 02.03.2017i.O.< 0,3> 1,0    ja
65 Geräteanschlußleitung 02.03.2017i.O.< 0,3> 1,0    ja
76 Geräteanschlußleitung 02.03.2017i.O.< 0,3> 1,0    ja
87R12Geräteanschlußleitung 02.03.2017i.O.< 0,3> 1,0    ja
98 Geräteanschlußleitung 02.03.2017i.O.< 0,3> 1,0    ja
109 Geräteanschlußleitung 02.03.2017z.Z. n.V.    Stillegungnein
1110 Geräteanschlußleitung 12.03.2014z.Z. n.V.    Stillegungnein
1211 Kopierer 02.03.2017i.O.< 0,3> 1,0    ja
1312R22Kopierer 02.03.2017i.O.< 0,3> 1,0    ja
1413 Kopierer 02.03.2017i.O.< 0,3> 1,0    ja
1514 Kopierer 02.03.2017i.O. > 1,0 < 0,5  ja
1615 Kopierer 12.03.2014i.O. > 1,0 < 0,5  ja
1716 Kopierer 12.03.2014i.O.< 0,3> 1,0    ja
1817DachbodenKopierer 12.03.2014i.O.< 0,3> 1,0    ja
1918FlurKopierer 12.03.2014i.O.< 0,3> 1,0    ja
2019 Kopierer 12.03.2014i.O. > 1,0 < 0,5  ja
2120 Kopierer 12.03.2014i.O. > 1,0 < 0,5  ja
2221 Geräteanschlußleitung 12.03.2014i.O.< 0,3> 1,0    ja
2322KellerGeräteanschlußleitung 12.03.2014z.Z. n.V.    Stillegungnein
2423 Geräteanschlußleitung 02.03.2017i.O.< 0,3> 1,0    ja
2524 Geräteanschlußleitung 02.03.2017i.O.< 0,3> 1,0    ja
2625 Kopierer 02.03.2017i.O. > 1,0 < 0,5  ja
2726Raum 2Geräteanschlusskabel  02.03.2017z.Z. n.V.    Stillegungnein
2827 Geräteanschlusskabel  02.03.2017i.O.< 0,3> 1,0    ja


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Gruß Matthias
Anzeige
Vielen Dank, Matthias,
04.03.2017 12:51:11
Michael
für den Code.
Ich habe mal damit herumgespielt (hier eingefügt zu einem neuen Blatt):
Option Explicit
Sub t()
Dim x&
Range("D:G").Clear
For x = 1 To ThisWorkbook.BuiltinDocumentProperties.Count
Cells(x, 4) = x
Cells(x, 5) = ThisWorkbook.BuiltinDocumentProperties(x).Name
On Error Resume Next
Cells(x, 6) = ThisWorkbook.BuiltinDocumentProperties(x).Value
If Err.Number  0 Then
Cells(x, 6) = "Err. # " & Err.Number
Cells(x, 7) = "Err. D." & Err.Description
End If
On Error GoTo 0
Next
End Sub
Sub t2()
Dim x&
Dim t0 As Single
t0 = Timer
For x = 1 To 5000
Range("A1") = ThisWorkbook.BuiltinDocumentProperties(11).Value
Next
Range("A2") = (Timer - t0) * 1000 & " ms"
End Sub
Sub t3()
Dim x&, wert
Dim t0 As Single
t0 = Timer
wert = ThisWorkbook.BuiltinDocumentProperties(11).Value
For x = 1 To 5000
Range("a3") = wert
Next
Range("a4") = (Timer - t0) * 1000 & " ms"
End Sub

Einige Werte scheinen nicht immer in Excel-Dateien gesetzt zu sein, deshalb die Fehlerbehandlung.
Ansonsten ist t3 einen Ticken schneller als t2: bei 500 Datensätzen isses egal, bei 5000 sind es rund 20%.
Schöne Grüße,
Michael
Anzeige
Danke @Matthias u.@Michael-
04.03.2017 13:58:02
Andi
werde das jetzt mal einarbeiten.
Guter Tipp mit den Überschriften- wäre zu überdenken.
Aber ich freue mich erst mal über die Beantwortung.
Grüße Andi
Danke für die Rückmeldung ... owT
04.03.2017 14:10:06
Matthias

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige