Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1028to1032
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

Autofilter mit Makro

Autofilter mit Makro
08.12.2008 11:25:46
alex
Hi ihr da draußen,
hab n Prob. mit Datenschutz.
auf arbeit nutzen verschiedene Gruppenmitglieder die selbe datei.
jedes Gruppenmitglied darf aber nur die daten seiner Gruppe zu sehen bekommen.
hab schon vieles probiert, z.B. für jede Gruppe eine extradatei anzulegen, die sich dann auf die Hauptdatei bezieht (die Hauptdatei ist dann zugriffsgesperrt)
aber sobald "Verknüpfungen aktualisieren" kommt, bin ich wieder am Anfang...
und das gesamte system vervielfachen will ich ehrlichgesagt vermeiden (weil sauviel arbeit)
heute nach beim schlafen (ohne scheiß) kam mir dann folgende idee:
Die Hauptdatei wird so belassen, jedes Gruppenmitglied hat zugriff und sieht nur die Daten seiner Mitglieder:
mit Makro-Autofilter
hier mal eine Erklärungsdatei, die den Ablauf darstellt
https://www.herber.de/bbs/user/57440.xls
bin beim Codieren leider noch nich so begabt, brauche euch deshalb.
wenn's geht, dann (bitte,bitte) wie, mit dank im voraus
gruss
alex

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Autofilter mit Makro
08.12.2008 14:08:00
Wenderhold
hi
wie soll den die usernummer ermittelt werden ?
excel kennt da nur application.username und ob der mit deinen namen
übereinstimmt, wage ich mal zu bezweifeln !!!!
greeze
e
AW: Autofilter mit Makro
08.12.2008 14:36:00
alex
hi,
jeder mitarbeiter hat eine von den admins fest zugewiesene usernr.
mit application.username wird die usernummer ermittelt, die ich dann mit vlookup in einer Basisdatei in "was auch immer" wandeln kann; hier eben die gruppe.
gruss
alex
AW: Autofilter mit Makro
08.12.2008 15:29:41
Wenderhold
ok soweit verstanden!
letzte frage: ändert der user an den angezeigten daten etwas ?
greeze e
AW: Autofilter mit Makro
08.12.2008 15:55:00
Wenderhold
hi alex
Option Explicit
Option Base 1

Private Sub Workbook_Open()
Dim i As Long, nUser As Integer, nGroup As Integer
Dim xx As Long  ' line counter in wscopy
Dim wsOrig As Worksheet, wsCopy As Worksheet
Dim wb As Workbook
xx = 1
Set wb = ActiveWorkbook
Set wsOrig = ActiveSheet
nUser = CInt(Application.UserName)
' we retrieve group
For i = 3 To 65536
If Sheets(1).Cells(i, 1).Value = "" Then Exit Sub
If Sheets(1).Cells(i, 1).Value = nUser Then
nGroup = Sheets(1).Cells(i, 4).Value
Exit For
End If
Next i
Set wsCopy = Sheets.Add(, wsOrig)
For i = 3 To 65536
If wsOrig.Cells(i, 6).Value = "" Then Exit For
If wsOrig.Cells(i, 6).Value = nGroup Then
wsCopy.Cells(xx, 1).Value = wsOrig.Cells(i, 6).Value
wsCopy.Cells(xx, 2).Value = wsOrig.Cells(i, 7).Value
wsCopy.Cells(xx, 3).Value = wsOrig.Cells(i, 8).Value
wsCopy.Cells(xx, 4).Value = wsOrig.Cells(i, 9).Value
wsCopy.Cells(xx, 5).Value = wsOrig.Cells(i, 10).Value
wsCopy.Cells(xx, 6).Value = wsOrig.Cells(i, 11).Value
wsCopy.Cells(xx, 7).Value = wsOrig.Cells(i, 12).Value
xx = xx + 1
End If
Next i
wsOrig.Visible = xlSheetVeryHidden
End Sub


der code macht folgendes:
ermittlung der gruppenzugehörigkeit
kopiert alle daten aus deinem original in ein neues tabellenblatt
für alle einträge mit ermittelter nutzergruppe
und versteckt das original am schluss.
ist zwar mit etwas sachkenntnis auch zu knacken, aber mehr mittel
zum datenschutz stellt excel an der stelle nicht zur verfügung.
wenn die daten durch den user geändert werden, musss das ganze
beim schliessen des workbooks natürlich zurückgeschrieben werden.
greeze
e

Anzeige
AW: Autofilter mit Makro
08.12.2008 16:42:00
alex
Hi,
danke erstmal für dein Engagement.
Das ist ja n HammerCode. Konnte jedoch nicht testen, weil ich zu Hause bin, teste ihn morgen auf Arbeit.
ich hoffe ich blick da durch!
Verstecken brauch ich eigentlich nicht, und diejenigen die Zugriff auf die Datei haben dürfen auch was schreiben.
Da sie aber nur die Gruppenangehörigen sehen, können sie auch nur bei ihnen Daten eintragen.
Deshalb wollte ich auch das Blatt entsperren/sperren, sodass sie nicht die anderen Gruppen wieder einblenden können.
ich hab mir im FAQ folgendes ertüfftelt:
usernr nehmen
dann: mit ermittelter usernr. sverweis im workbook "Basisdaten" die Gruppe ermitteln
hier der Sverweis:
With Range("Zelle")
.Formula = "=VLookup(" & Range("Zelle") & "," & _
"Dateipfad...\[Basisdaten.xls]Tabelle1'!A3:D12, 4, False)"
.Formula = .Value
End With
End Sub


dann: wie unten Autofiltern, mit dem eben ermittelten Ergebnis ( kann eben auch "1.Gruppe"sein)


Private Sub Workbook_Open()
Range("A3").CurrentRegion.AutoFilter _
Field:=1, Criteria1:=Range("C14").Value, Operator:=xlAnd
End Sub


Wie muss ich das kombinieren?
gruss
alex

Anzeige
AW: Autofilter mit Makro
09.12.2008 07:39:19
Wenderhold
hmmmm
also mit dem schutz eines tabellenblattes bei excel ist das so eine sache !!!
es gibt im internet tausende progrämmchen, mit denen dieser
schutz ausgehebelt werden kann.
greeze
e

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige