Arbeitsmappe mit Mehrfachbenutzung = Werte in Zellen beim speichern zusammenführen
#1
Lightbulb 
Hallo zusammen,

vielleicht funktioniert das, was ich vor habe ja nicht und wollte deshalb mal bei den Profis nachfragen ob es eine Lösung oder andere Methode dafür gibt oder ich es lieber sein lassen sollte.

AUFGABE
Ich habe eine Makro Datei (siehe Anhang) in der ein einfacher "klick" Zähler hinterlegt ist. Mittels des Klickzählers soll nur über diese "eine" Datei mit einer Mehrfachfreigabe für bis zu 20 Mitarbeitern die am Telefon erhaltenen Antworten der Kunden immer mit "JA" oder "NEIN" an dem jeweiligen Tag mit einem Doppelklick gezählt werden.

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
Target = Target + 1
End Sub


PROBLEM
Wenn der erste seine gezählten Werte durch das Speichern der Datei hinterlegt, sind die Daten noch ok. Sobald der zweite seine Daten speichert, überschreibt er die Daten vom ersten und so weiter....

Im Prinzip habe ich immer die Daten von dem, der zuletzt gespeichert hat.

GESUCHTE LÖSUNG
Ist es möglich das die gezählten Werte beim speichern zusammengeführt werden und nicht ersetzt werden? Vielleicht durch einen Code als VBA?

Eventuell gibt es eine andere Lösung, womit mehrere Mitarbeiter über "eine Datei" ihr Antworten angeben und in eventuell einer Master Datei gezählt werden?

Wichtig wäre, das es mit einer Datei gehen sollte.

Ich wäre JEDEM sehr dankbar für eine Lösung die Ich hier neu lernen kann.

VG Andyseins


Angehängte Dateien Thumbnail(s)
   

.xlsm   Klickzähler_mit_Mehrfachfreigabe.xlsm (Größe: 38,24 KB / Downloads: 6)
Antworten Top
#2
Hallo,

wäre das hier eine Alternative:
Für jeden Mitarbeiter eine intelligente Tabelle anlegen.
Per Power Query die einzelnen Tabellen zusammenführen.
Der Zähler ist nicht über VBA gesteuert, sondern über Drehfelder.

Gruß


Angehängte Dateien
.xlsm   Klickzähler PQ.xlsm (Größe: 54,76 KB / Downloads: 5)
[-] Folgende(r) 1 Nutzer sagt Danke an el-rettev für diesen Beitrag:
  • Andyseins
Antworten Top
#3
(23.01.2023, 20:12)el-rettev schrieb: wäre das hier eine Alternative:
Für jeden Mitarbeiter eine intelligente Tabelle anlegen.

....der Ansatz ist gut, das Problem unverändert, wenn alle die gleiche Datei verwenden (hat ja trotzdem jeder seine eigene Instanz)
Jeder MA benötigt eine eigene Datei möglichst im gleichen Ordner, und die werden dann über PQ zusammengefasst...
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben.
Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.

Ciao, Ralf

[-] Folgende(r) 1 Nutzer sagt Danke an Ralf A für diesen Beitrag:
  • Andyseins
Antworten Top
#4
Moin,

die klassische Vorgehensweise wäre es,
a) Front- und Backend zu trennen und
b) einen Zähler als die Summe der einzelnen Klicks ( Bewegungsdatensätze) zu begreifen und nicht als einzelnen Wert (der natürlich in einer späteren Auswertung als einzelner Wert berechnet werden kann...)

Erzeuge also mit dem Doppelklick einen Datensatz in einem Backend (z. b. Mit Hilfe von Adodb). Das kann eine einfache Textdatei sein oder direkt eine Datenbank.

Viele Grüße
derHöpp
[-] Folgende(r) 1 Nutzer sagt Danke an derHoepp für diesen Beitrag:
  • Andyseins
Antworten Top
#5
Ich freue mich so, von euch zu lesen.
Erstmal vielen Dank an alle für die tollen Lösungsansätze. 100


Wie mache ich es, das der Doppelklick eine Zähl Anzeige für den Erfasser und direkt einen Wert auf einer Monitoring Tabelle um eins erhöht?

Und das mit ca. 20 Benutzern?
Antworten Top
#6
...mein obiger Vorschlag läuft auf diesen Workshop hinaus...

Gezählt wird weiterhin in den jeweiligen Mitarbeiterdateien...
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben.
Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.

Ciao, Ralf

Antworten Top
#7
Moin,

Zitat: Wie mache ich es, das der Doppelklick eine Zähl Anzeige für den Erfasser und direkt einen Wert auf einer Monitoring Tabelle um eins erhöht?

Und das mit ca. 20 Benutzern?
Wie erwähnt mit Datenbanktechniken. Du sollst also keinen Wert um eins erhöhen, sondern einen weiteren Datensatz erzeugen. Der Trick ist es dann nur noch, die Anzeige bedarfsgerecht zu aktualisieren. Das geht entweder mit PQ, oder in VBA mit einer Abfrage. 

Kannst du vielleicht den Businesscase und den Prozess dahinter etwas genauer erläutern? Was wird da gezählt? Warum genügt die Anzahl und warum werden nicht weitere Informationen gespeichert. Warum arbeiten so viele gleichzeitig? Warum überhaupt per Excel? Was passiert mit den Daten?  Wie gehst du mit Fehleingaben um?

Viele Grüße
derHöpp
Antworten Top
#8
(26.01.2023, 00:29)derHoepp schrieb: Moin,

Wie erwähnt mit Datenbanktechniken. Du sollst also keinen Wert um eins erhöhen, sondern einen weiteren Datensatz erzeugen. Der Trick ist es dann nur noch, die Anzeige bedarfsgerecht zu aktualisieren. Das geht entweder mit PQ, oder in VBA mit einer Abfrage. 

Kannst du vielleicht den Businesscase und den Prozess dahinter etwas genauer erläutern? Was wird da gezählt? Warum genügt die Anzahl und warum werden nicht weitere Informationen gespeichert. Warum arbeiten so viele gleichzeitig? Warum überhaupt per Excel? Was passiert mit den Daten?  Wie gehst du mit Fehleingaben um?

Viele Grüße
derHöpp

Hallo derHöpp,

es geht darum das durch einen Telefonie Bereich der mit 20 Mitarbeiter*innen Kunden zu aktuellen Anfragen berät, im Nachgang der Beratung fragen sollen, ob Sie noch eine Frage zu einem neu geplanten Service Angebot stellen dürfen.
Das ist der erste Klick mit "Ja oder Nein". Ist der Kunde dazu bereit wird Ihm nach einem Leitfaden erklärt, was es für einen Service es in Zukunft geben "könnte".

Die zweite Frage wäre dann ob er sich vorstellen könnte diesen Service zu nutzen oder lieber bei seinem gewohnten Systemen bleiben würde.
Da fällt die zweite Antwort. JA = Könnte ich nutzen oder NEIN = ich bleibe beim alten System.

Das ganze läuft immer vier Wochen, mit einem Zählblatt für jede Woche und wird im Nachgang dann ausgewertet um zu sehen ob die Service Ideen bei den Kunden ankommen würden oder nicht.
Sollte sich ein Zähler mal verklicken, ist das nicht schlimm, da es nur einen Daumenwert geben muss. Es werden keine persönlichen Daten dazu benötigt. Ein JA oder NEIN reicht aus.
Nach der Umfrage werden die Zählungen gelöscht. Und je nach Ergebnis auch die "Idee" dahinter.

Excel habe ich nur ausgewählt, da es einfacher auszuwerten ist als die Strichlisten, die vorher gemacht wurden.

VBA kann ich mittlerweile recht gut einbinden, jedoch nicht selbst schreiben.
Mit "PQ" meintest du bestimmt Power Query?

Power Query habe ich mir vor kurzem angesehen und einmal bisschen damit experimentiert nach YouTube Videos. Ist schon mega klasse.
Das ich das vorher noch nie benutzt habe. *lol*

Dazu gesagt, ich bin eher ein Excel Tüftler und sehe mir viele Videos dazu an, wenn es um VBA oder speziellen dingen geht, die man so in den Excel Kursen nicht gezeigt bekommen hat.

Vielleicht gibt es ja auch eine elegantere Lösung so was umzusetzen.
Es darf nur keine online Anwendung oder ein zu installierendes Programm von außen sein, denn das geht bei uns nicht so einfach.

Ich wünsche allen ein schönes Wochenende und freue mich auf weiteren Input.

"Man lernt nie aus...."
Antworten Top
#9
1. Speichere die Datei als .xlsb Datei.
2. Lösche alle Makromodulen
3. Setze diesen Code im Workbook Makromodul:

Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    c00 = ThisWorkbook.Path & "\klick.xlsb"

    If Dir(c00) <> "" Then
      With GetObject(c00)
        sp = .Sheets(1).Range("H8:I12")
        .Close 0
      End With
      sn = Sheets(1).Range("H8:I12")
      For j = 1 To UBound(sn)
        For jj = 1 To UBound(sp, 2)
          sn(j, jj) = sn(j, jj) + sp(j, jj)
        Next
      Next
      Sheets(1).Range("H8:I12") = sn
    End If
    ThisWorkbook.SaveCopyAs c00
End Sub


Angehängte Dateien
.xlsb   Klickzähler_mit_Mehrfachfreigabe(1).xlsb (Größe: 32,3 KB / Downloads: 1)
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#10
(27.01.2023, 13:55)snb schrieb: 1. Speichere die Datei als .xlsb Datei.
2. Lösche alle Makromodulen
3. Setze diesen Code im Workbook Makromodul:

Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    c00 = ThisWorkbook.Path & "\klick.xlsb"

    If Dir(c00) <> "" Then
      With GetObject(c00)
        sp = .Sheets(1).Range("H8:I12")
        .Close 0
      End With
      sn = Sheets(1).Range("H8:I12")
      For j = 1 To UBound(sn)
        For jj = 1 To UBound(sp, 2)
          sn(j, jj) = sn(j, jj) + sp(j, jj)
        Next
      Next
      Sheets(1).Range("H8:I12") = sn
    End If
    ThisWorkbook.SaveCopyAs c00
End Sub

Danke für deinen Vorschlag.
Jedoch gibt es folgendes Problem:

20x ist das Zählblatt geöffnet und die Antworten werden gezählt.
Jedoch werden nicht alle 20 Speicherungen in der Tabelle "klick.xlsb" addiert, sondern nur der Wert angezeigt, von dem, der zuletzt gespeichert hat.

Oder mache ich was falsch?
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste