Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Excel Änderungen live anzeigen für andere Nutzer

Frage Microsoft Microsoft Office

Mitglied: crack24

crack24 (Level 2) - Jetzt verbinden

23.09.2014, aktualisiert 23:14 Uhr, 2230 Aufrufe, 10 Kommentare

Hallo,

ist es möglich, dass wenn jemand Änderungen in einer Excel macht, andere Nutzer diese sofort live sehen wenn sie die Datei auch geöffnet haben? Oder müssen die die Datei dafür neu öffnen?

Viele Grüße
crack
Mitglied: colinardo
LÖSUNG 23.09.2014, aktualisiert um 23:14 Uhr
Moin,
siehe: http://www.administrator.de/forum/excel07-excel-datei-von-mehreren-arbe ...

Die Makro-Variante könnte so aussehen:

Man erstelle ein Excel Dokument mit Makros (*.xlsm) in welchem man folgenden Code in den Abschnitt DieseArbeitsmappe im VBA-Editor (ALT-F11) einfügt:
01.
Private Sub Workbook_Open() 
02.
    If ThisWorkbook.ReadOnly = True Then 
03.
        UpdateTimer 
04.
    End If 
05.
End Sub 
06.
 
07.
Sub UpdateTimer() 
08.
    Application.OnTime (Now() + TimeValue("00:00:05")), "DieseArbeitsmappe.UpdateTimer" 
09.
    On Error Resume Next 
10.
    ThisWorkbook.UpdateFromFile 
11.
End Sub
Dieses Dokument speichert man nun auf einem Netzlaufwerk. Der Bearbeiter öffnet das Dokument als erstes und hat damit Schreibzugriff auf die Arbeitsmappe. Alle weiteren Clients öffnen dann das Workbook im Schreibgeschützen Modus, und nur hier startet dann das Makro welches eine Aktualisierung der Arbeitsmappe alle X Sekunden (im Beispielcode alle 5 Sekunden) veranlasst. Speichert der Bearbeiter nun das Workbook sind kurz darauf die Änderungen an den Clients zu sehen.

Grüße Uwe
Bitte warten ..
Mitglied: crack24
23.09.2014 um 23:14 Uhr
Hallo Uwe,

das ist genau das was ich brauche! Vielen Dank.

Viele Grüße
crack
Bitte warten ..
Mitglied: crack24
24.09.2014 um 13:40 Uhr
Alle Änderungen eines Tages automatisch farbig zu kennzeichnen ist wahrscheinlich nicht möglich oder?
Bitte warten ..
Mitglied: colinardo
24.09.2014, aktualisiert um 14:37 Uhr
Zitat von crack24:
Alle Änderungen eines Tages automatisch farbig zu kennzeichnen ist wahrscheinlich nicht möglich oder?
man kann ein Makro hinterlegen das bei jeder Zelländerung z.B. die Hintergrundfarbe der jeweiligen Zelle automatisch ändert(Worksheets_OnChange-Event). Diese Zellen müsste man dann nur am Anfang eines neuen Tages wieder zurücksetzen. Möglich ist vieles ....
Einfacher lässt sich das natürlich mit einem freigegebenen Workbook machen, das hat diese Funktion ja schon integriert (Änderungen nachverfolgen) - wie unter obigem Link beschrieben.
Bitte warten ..
Mitglied: crack24
24.09.2014 um 14:15 Uhr
....wenn man weiß wie es geht
Dann muss ich mal recherchieren, ob man irgendwie die Zellen auch wieder automatisch zurücksetzen kann.
Bitte warten ..
Mitglied: colinardo
24.09.2014, aktualisiert um 17:34 Uhr
So, hier mal ein Beispiel das geänderte Zellen gelb hinterlegt und beim Öffnen nachfragt ob die Markierungen alle gelöscht werden sollen. Hier noch das Demo-Sheet dazu: mark_edited_cells_249949.xlsm / Kommentare befinden sich im Code
01.
'Variable enthält den zwischengespeicherten Wert der aktiven Zelle(n) 
02.
Dim currentCellValue As String 
03.
'Markerfarbe 
04.
Dim markerColor As Long 
05.
 
06.
'Beim Öffnen des Workbooks checken ob es schreibgeschützt geöffnet wurde 
07.
Private Sub Workbook_Open() 
08.
    'Farbe der Marker festlegen 
09.
    markerColor = RGB(255, 255, 0) 
10.
     
11.
    If ThisWorkbook.ReadOnly = True Then 
12.
        'Workbook schreibgeschützt, starte die 'UpdateTimer' Prozedur 
13.
        UpdateTimer 
14.
    Else 
15.
        'Workbook ist nicht schreibgeschützt, Frage ob alle Tagesmarkierungen entfernt werden sollen 
16.
        If MsgBox("Möchten sie die Tagesmarkierungen entfernen?", vbQuestion Or vbYesNo, "Tagesmarkierungen") = vbYes Then 
17.
            ClearMarkers 
18.
        End If 
19.
    End If 
20.
End Sub 
21.
 
22.
'Bei Zelländerungen den Wert der Zelle auf Änderung überprüfen und dann entsprechend farbig markieren 
23.
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) 
24.
    On Error Resume Next 
25.
    If Not IsEmpty(Target.Value) Then 
26.
        If Target.Cells(1, 1).Value <> currentCellValue Then 
27.
            Target.Cells(1, 1).Interior.Color = markerColor 
28.
        End If 
29.
    Else 
30.
        If currentCellValue <> "" Then 
31.
            Target.Cells(1, 1).Interior.Color = markerColor 
32.
        End If 
33.
    End If 
34.
End Sub 
35.
 
36.
'Aktuellen Wert der aktivierten Zelle zwischenspeichern um Zelländerungen feststellen zu können 
37.
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) 
38.
    currentCellValue = Target.Cells(1, 1).Value 
39.
End Sub 
40.
 
41.
'Update-Timer wird gestartet wenn das Workbook schreibgeschützt geöffnet wird 
42.
Sub UpdateTimer() 
43.
    'Update-Routine alle 5 Sekunden erneut aufrufen 
44.
    Application.OnTime (Now() + TimeValue("00:00:05")), "DieseArbeitsmappe.UpdateTimer" 
45.
    On Error Resume Next 
46.
    'Update druchführen 
47.
    ThisWorkbook.UpdateFromFile 
48.
End Sub 
49.
 
50.
'Tagesmarkierungen entfernen 
51.
Sub ClearMarkers() 
52.
    Dim ws As Worksheet, cell As Range 
53.
    For Each ws In ThisWorkbook.Worksheets 
54.
        For Each cell In ws.UsedRange 
55.
            If cell.Interior.Color = markerColor Then 
56.
                cell.Interior.ColorIndex = xlColorIndexNone 
57.
            End If 
58.
        Next 
59.
    Next 
60.
End Sub
Viel Erfolg

Grüße Uwe
Bitte warten ..
Mitglied: crack24
25.09.2014 um 15:37 Uhr
Danke! Muss ich am Wochenende direkt mal einbauen und testen
Bitte warten ..
Mitglied: crack24
18.10.2014 um 11:16 Uhr
Funktioniert super. Zwei Fragen habe ich noch.
Kann man irgendwie auch den Windows User abfragen, so dass die Änderungen eines bestimmten Users nicht markiert werden?
Kann man statt der MsgBox("Möchten sie die Tagesmarkierungen entfernen?") auch einen Button in einer Zelle platzieren der die Markierungen entfernt?

Viele Grüße
Oliver
Bitte warten ..
Mitglied: colinardo
18.10.2014, aktualisiert um 11:25 Uhr
Hallo Oliver,
Zitat von crack24:
Funktioniert super. Zwei Fragen habe ich noch.
Kann man irgendwie auch den Windows User abfragen, so dass die Änderungen eines bestimmten Users nicht markiert werden?
yip s. Code unten Zeile 20, dort kannst du den Namen ändern, dann werden Änderungen dieses Users nicht markiert.
Kann man statt der MsgBox("Möchten sie die Tagesmarkierungen entfernen?") auch einen Button in einer Zelle
platzieren der die Markierungen entfernt?
Kannst du mit diesem Code machen, du musst dann nur noch deinen Button erstellen und Ihm das Makro **ClearMarkers()* zuweisen.
01.
'Variable enthält den zwischengespeicherten Wert der aktiven Zelle(n) 
02.
Dim currentCellValue As String 
03.
'Markerfarbe 
04.
Dim markerColor As Long 
05.
 
06.
'Beim Öffnen des Workbooks checken ob es schreibgeschützt geöffnet wurde 
07.
Private Sub Workbook_Open() 
08.
    'Farbe der Marker festlegen 
09.
    markerColor = RGB(255, 255, 0) 
10.
     
11.
    If ThisWorkbook.ReadOnly = True Then 
12.
        'Workbook schreibgeschützt, starte die 'UpdateTimer' Prozedur 
13.
        UpdateTimer 
14.
    End If 
15.
End Sub 
16.
 
17.
'Bei Zelländerungen den Wert der Zelle auf Änderung überprüfen und dann entsprechend farbig markieren 
18.
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) 
19.
    ' Nur ausführen wenn User nicht 'Werner' heißt markiere Änderungen 
20.
    If Application.UserName <> "Werner" Then 
21.
        On Error Resume Next 
22.
        If Not IsEmpty(Target.Value) Then 
23.
            If Target.Cells(1, 1).Value <> currentCellValue Then 
24.
                Target.Cells(1, 1).Interior.Color = markerColor 
25.
            End If 
26.
        Else 
27.
            If currentCellValue <> "" Then 
28.
                Target.Cells(1, 1).Interior.Color = markerColor 
29.
            End If 
30.
        End If 
31.
    End If 
32.
End Sub 
33.
 
34.
'Aktuellen Wert der aktivierten Zelle zwischenspeichern um Zelländerungen feststellen zu können 
35.
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) 
36.
    currentCellValue = Target.Cells(1, 1).Value 
37.
End Sub 
38.
 
39.
'Update-Timer wird gestartet wenn das Workbook schreibgeschützt geöffnet wird 
40.
Sub UpdateTimer() 
41.
    'Update-Routine alle 5 Sekunden erneut aufrufen 
42.
    Application.OnTime (Now() + TimeValue("00:00:05")), "DieseArbeitsmappe.UpdateTimer" 
43.
    On Error Resume Next 
44.
    'Update druchführen 
45.
    ThisWorkbook.UpdateFromFile 
46.
End Sub 
47.
 
48.
'Tagesmarkierungen entfernen 
49.
Sub ClearMarkers() 
50.
    Dim ws As Worksheet, cell As Range 
51.
    For Each ws In ThisWorkbook.Worksheets 
52.
        For Each cell In ws.UsedRange 
53.
            If cell.Interior.Color = markerColor Then 
54.
                cell.Interior.ColorIndex = xlColorIndexNone 
55.
            End If 
56.
        Next 
57.
    Next 
58.
End Sub
Grüße Uwe
Bitte warten ..
Mitglied: crack24
18.10.2014 um 12:26 Uhr
Danke für deine Hilfe!
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
gelöst Excel Formel anzeigen und daneben berechnen (2)

Frage von filippg zum Thema Microsoft Office ...

Microsoft Office
gelöst Micorsoft Excel: Variable Anzeige von mehreren Werten anhand von Stammdaten (1)

Frage von sammy65 zum Thema Microsoft Office ...

Video & Streaming
Selbstlaufende Online-Live-Präsentation? (1)

Frage von survial555 zum Thema Video & Streaming ...

iOS
Kann Live Email Account auf Iphone nicht löschen (2)

Frage von srx2010 zum Thema iOS ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

Information von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Windows Server
Kennwort vergessen bei Hyper vserver 2012r (12)

Frage von jensgebken zum Thema Windows Server ...

Linux Desktop
Bildschirmauflösung unter Linux festlegen (12)

Frage von itebob zum Thema Linux Desktop ...

Windows Userverwaltung
gelöst Administrator hat alle Rechte verloren (10)

Frage von mrdead zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
Gebäude mit WLAN ausstatten (9)

Frage von udobec zum Thema LAN, WAN, Wireless ...