MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Excel
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 16.10.2018, 15:47   #1
ciappal
Neuer Benutzer
Neuer Benutzer
Standard Excel2010 - Tabelle mit Timestamp (nicht löschbar)

Hallo,

um unsere Bestellabwicklung zu optimieren möchte ich in einer Exceltabelle (siehe Beispiel) hinter jedem Eintrag (Arbeitsschritt) einen Zeitstempel, der nicht löschbar ist (beim bearbeiten soll der Zeitstempel von der ersten Bearbeitung bleiben.)

(jeder in rot hinterlegte Zeitstempel bezieht sich auf das davorliegende Feld/Arbeisschritt)

Kann mir vielleicht jemand bei der Formel helfen? bekomme es einfach nicht hin..

Danke schon mal
Angehängte Dateien
Dateityp: xlsx Example.xlsx (9,6 KB, 4x aufgerufen)
ciappal ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.10.2018, 15:55   #2
CStein
Neuer Benutzer
Neuer Benutzer
Standard

1. Weg: VBA
2: Weg: Stempel in anderer Zelle erzeugen und mitgels Dropdown übernehmen
CStein ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.10.2018, 16:16   #3
ciappal
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Weg 2 wäre super, aber leider schaffe ich es nicht die Formel dafür zu erstellen. Vielleicht kann mir jemand dabei helfen?
ciappal ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.10.2018, 17:13   #4
happy jack
MOF User
MOF User
Standard

Hi, Taste Strg + . (punkt)

jack
happy jack ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.10.2018, 17:33   #5
ciappal
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo,

wenn ich strg + . in das feld eingebe kommt: 16.10.2018 00:00 aber nicht die aktuelle zeit?

Vielleicht habe ich mich falsch ausgedrückt.
Ich möchte, dass sich die roten felder automatisch ausfüllen.

Zb. mitarbeiter a trägt eine artikelnummer in feld A3 ein, dann trägt sich automatisch der Zeitstempel in Feld B3 ein. Dieser mitarbeiter soll diesen zeitstempel nicht verändern können, und auch wenn er den wert in einer stunde noch einmal ändert, soll der erste Zeitstempel im Feld B3 erhalten bleiben.

Sobald Mitarbeiter B einen Wert in Feld C3 eingibt, soll der Zeitstempel ebenfalls automatisch ins feld D3 eingetragen werden, und ebenfalls nicht verändert werden können.

So bei allen Feldern die rot markiert sind. Das ganze um eine Kontrolle über die Arbeitsabläufe zu erhalten

hoffe mir kann jemand weiterhelfen
ciappal ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.10.2018, 18:30   #6
Hasso
MOF Meister
MOF Meister
Standard

Hallo ciappal,

schütze das Tabellenblatt "Tabelle1" mit einem Passwort.
Füge in Tabelle1 folgenden Code ein:
Code:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 1 Or Target.Column = 3 Or Target.Column = 5 Or Target.Column = 7 Then
  Me.Unprotect
  Target.Offset(0, 1) = Now
  Target.Offset(0, 1).Locked = True
  Me.Protect userinterfaceonly:=True
End If

End Sub
Wenn du jetzt in einer der Spalten A/C/E/G etwas einträgst, wird rechts daneben Datum und Uhrzeit eingetragen und die Zelle gesperrt. Das kann ein gewiefter Excel-User allerdings sicher austricksen.

Du solltest auf jeden Fall dann auch dein VBA-Projekt mit Passwort schützen!
Angehängte Dateien
Dateityp: xlsm Tabelle mit Timestamp.xlsm (17,8 KB, 4x aufgerufen)

__________________

Gruß Hasso

Programmers don't die, they just GOSUB without RETURN

System Windows 7 Enterprise 64, Office 2013
Wenn dir mein Beitrag gefallen hat, kannst du ihn bewerten (mit dem Symbol links unten)
Hasso ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 17.10.2018, 08:46   #7
ciappal
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Vielen dank, das mit dem code läuft schon super.
Nach dem ich etwas in in die Spalte A/C/E/G eingebe sollte aber nur die danebenliegende spalte mit dem timestamp gesperrt werden, und nicht das die ganze tabelle, da die dauernd bearbeitet werden soll... ist das möglich?

danke nocheinmal
ciappal ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 17.10.2018, 09:07   #8
Hasso
MOF Meister
MOF Meister
Standard

Hallo ciappal,

ich hatte in meiner Anleitung noch einen wichtigen Schritt vergessen.

Bevor du die Tabelle schützt, markiere sie komplett, öffne den Dialog "Zellen formatieren" (Strg+1) und lösche auf der Registerkarte "Schutz" den Haken bei "Gesperrt". Nun schütze die Tabelle.

__________________

Gruß Hasso

Programmers don't die, they just GOSUB without RETURN

System Windows 7 Enterprise 64, Office 2013
Wenn dir mein Beitrag gefallen hat, kannst du ihn bewerten (mit dem Symbol links unten)
Hasso ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 17.10.2018, 14:24   #9
ciappal
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Jetzt klappt es perfekt, vielen vielen Dank.

Ich würde gerne die bearbeitung von mehreren benutzern aktivieren, aber dann funktioniert der timestamp leider nicht mehr, kann man das irgendwie umgehen?

Wäre es evtl. noch möglich, neben dem timestamp auch den benutzer der die Änderung eingetragen hat anzuzeigen?

Danke nochmals

Geändert von ciappal (17.10.2018 um 15:44 Uhr). Grund: gelöst
ciappal ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 17.10.2018, 16:29   #10
Hasso
MOF Meister
MOF Meister
Standard

Hallo DAN,

Zitat:

Wäre es evtl. noch möglich, neben dem timestamp auch den benutzer der die Änderung eingetragen hat anzuzeigen?

Klar geht das. Ändere den Code so:
Code:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 1 Or Target.Column = 3 Or Target.Column = 5 Or Target.Column = 7 Then
  Me.Unprotect
  Target.Offset(0, 1) = Now & " / " & Environ("Username")
  Target.Offset(0, 1).Locked = True
  Me.Protect userinterfaceonly:=True
End If

End Sub

Zitat: von DAN

Ich würde gerne die bearbeitung von mehreren benutzern aktivieren, aber dann funktioniert der timestamp leider nicht mehr, kann man das irgendwie umgehen?

Bei freigegebenen Dateien ist die Funktion von Makros stark eingeschränkt.

__________________

Gruß Hasso

Programmers don't die, they just GOSUB without RETURN

System Windows 7 Enterprise 64, Office 2013
Wenn dir mein Beitrag gefallen hat, kannst du ihn bewerten (mit dem Symbol links unten)
Hasso ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 17.10.2018, 17:00   #11
ciappal
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Auch dieser Code funktioniert perfekt, top

Da das gleichzeitige bearbeiten nicht möglich ist, wäre es möglich den code so zu ergänzen, dass diese excelfile sich nach 2 minuten inaktivität automatisch schliesst? edit: und speichert
ciappal ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 18.10.2018, 14:46   #12
ciappal
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo nocheinmal,

ich möchte nicht stressen, aber gibt es die Möglichkeit den Code so zu ergänzen dass sich die File nach 2 min. inaktivität automatisch speichert und schließt? Oder kann man evtl einen zweiten code eingeben?

vielen Dank nocheinmal
ciappal ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 18.10.2018, 19:47   #13
Hasso
MOF Meister
MOF Meister
Standard

Hallo ciappal,

ich habe da mal etwas gestrickt (bzw. im Netz zusammengesucht :-). Dieser Code in "Diese Arbeitsmappe":
Code:

Option Explicit
Private Sub Workbook_Open()

Worksheets("Tabelle1").Protect userinterfaceonly:=True
dteCloseTime = Now + TimeSerial(0, 2, 0)
Application.OnTime dteCloseTime, "DoClose"
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
Application.OnTime dteCloseTime, "DoClose", , False
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
On Error Resume Next
Application.OnTime dteCloseTime, "DoClose", , False
dteCloseTime = Now + TimeSerial(0, 2, 0)
blnCloseNow = False
Application.OnTime dteCloseTime, "DoClose"
End Sub

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
On Error Resume Next
Application.OnTime dteCloseTime, "DoClose", , False
dteCloseTime = Now + TimeSerial(0, 2, 0)
blnCloseNow = False
Application.OnTime dteCloseTime, "DoClose"
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
On Error Resume Next
Application.OnTime dteCloseTime, "DoClose", , False
dteCloseTime = Now + TimeSerial(0, 2, 0)
blnCloseNow = False
Application.OnTime dteCloseTime, "DoClose"
End Sub
Dieser Code in ein allgemeines Modul:
Code:

Option Explicit
Public dteCloseTime As Date, blnCloseNow As Boolean

Public Sub DoClose()
Dim strMsg As String
If blnCloseNow = False Then
  strMsg = "Diese Datei wurde seit 2 Minuten nicht bearbeitet und" & vbCrLf & _
    "wird bei weiterer Inaktivität in 1 Minute geschlossen."
  CreateObject("WScript.Shell").PopUp strMsg, 10, ThisWorkbook.Name, _
    vbOKOnly + vbInformation + vbSystemModal
  blnCloseNow = True
  dteCloseTime = Now + TimeSerial(0, 1, 0)
  Application.OnTime dteCloseTime, "DoClose"
Else
  If Workbooks.Count = 1 Then
    Application.DisplayAlerts = False
    Application.Quit
  Else
    ThisWorkbook.Close False
  End If
End If
End Sub

__________________

Gruß Hasso

Programmers don't die, they just GOSUB without RETURN

System Windows 7 Enterprise 64, Office 2013
Wenn dir mein Beitrag gefallen hat, kannst du ihn bewerten (mit dem Symbol links unten)

Geändert von Hasso (18.10.2018 um 19:53 Uhr).
Hasso ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 29.10.2018, 16:25   #14
ciappal
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Sorry für die späte Antwort, aber war für einige Tage nicht da...
Hab jetzt eine Weile versucht diesen code einufügen, aber bekomme es einfach nicht hin.. habe die Tabelle hochgeladen, was habe ich falsch gemacht?
Angehängte Dateien
Dateityp: xlsm Example3.xlsm (62,4 KB, 1x aufgerufen)
ciappal ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:13 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.