Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1288to1292
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

VBA Code umschreiben

VBA Code umschreiben
27.11.2012 10:33:41
BuStue
Hallo VBA'ler,
kann man folgenden Code so umschreiben, das wenn der User die Tabelle öffnet
er nur seine Zeile sieht. Das Ganze eben ohne Login.
Sub LogIn()
Application.ScreenUpdating = False
Tabelle1.Unprotect "0000"
Rows("9:34").EntireRow.Hidden = True
Select Case Tabelle1.ComboBox1.Value
Case "Müller"
Rows(10).Hidden = False
Case "Meier"
Rows(11).Hidden = False
Case "Lehmann"
Rows(12).Hidden = False
Case "Schuster"
Rows(13).Hidden = False
End Select
Application.ScreenUpdating = True
Tabelle1.Protect "0000"
End Sub
MfG
Burghard

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Code umschreiben
27.11.2012 10:38:36
Rudi
Hallo,
und wovon soll das abhängig sein?
Gruß
Rudi

AW: VBA Code umschreiben
27.11.2012 11:46:48
BuStue
Hallo Rudi,
Also den User erfrage ich mit
Declare Function GetUserName Lib "advapi32.dll" _
Alias "GetUserNameA" (ByVal lpBuffer As String, _
nSize As Long) As Long
in der 2 Spalte der Tabelle steht der betreffende User (Nachname,Vorname)
Ist da eine Lösung drin?
MfG
Burghard

AW: VBA Code umschreiben
27.11.2012 12:09:52
Rudi
Hallo,
rows(worksheetfunction.match(UserName,columns(2),0)).hidden=false
Gruß
Rudi

AW: VBA Code umschreiben
27.11.2012 12:58:54
BuStue
Hallo Rudi,
recht vielen Dank für Deine Antwort,
aber wie müßte der vollständige Code aussehen.
Mit meinem zusammenkopierten funktioniert das leider nicht:
Private Sub Worksheet_Open()
Application.ScreenUpdating = False
Tabelle5.Unprotect "0000"
Rows("9:34").EntireRow.Hidden = True
Rows(WorksheetFunction.Match(UserName, Columns(2), 0)).Hidden = False
Application.ScreenUpdating = True
Tabelle5.Protect "0000"
End Sub
MfG
Burghard

Anzeige
AW: VBA Code umschreiben
27.11.2012 13:09:45
Rudi
Hallo,
die Function GetUserName brauchst du eigentlich nicht. Kann man auch mit Environ("Username") ermitteln.
Worksheet_Open() gibt es nicht.
Private Sub Workbook_Open()
Application.ScreenUpdating = False
With Tabelle5
.Unprotect "0000"
.Rows("9:34").EntireRow.Hidden = True
.Rows(WorksheetFunction.Match(Environ("UserName"), .Columns(2), 0)).Hidden = False
.Protect "0000"
End With
End Sub

Gruß
Rudi

AW: VBA Code umschreiben
27.11.2012 13:15:43
BuStue
Hallo Rudi,
rech, recht vielen Dank für Deine Bemühung.
Der Code funktioniert bestens.
MfG
Burghard

Anzeige
zur Sicherheit noch ...
27.11.2012 13:22:54
Rudi
Hallo,
falls der User nicht in der Liste steht:
Private Sub Workbook_Open()
Dim sName As String, vRow
sName = Environ("UserName")
vRow = Application.Match(sName, Tabelle5.Columns(2), 0)
If IsError(vRow) Then
MsgBox "Der User " & sName & " ist nicht vorhanden.", vbCritical, "Gebe bekannt..."
Exit Sub
End If
Application.ScreenUpdating = False
With Tabelle5
.Unprotect "0000"
.Rows("9:34").EntireRow.Hidden = True
.Rows(vRow).Hidden = False
.Protect "0000"
End With
End Sub

Gruß
Rudi

AW: zur Sicherheit noch ...
27.11.2012 13:39:24
BuStue
Hallo Rudi,
besten Dank, gibt es auch eine Möglichkeit z.b. für einen bestimmten User (als Administrator) alle Zeilen anzuzeigen.
MfG
Burghard

Anzeige
Admin
27.11.2012 14:44:00
Rudi
Hallo,
aber sicher.
Private Sub Workbook_Open()
Dim sName As String, vRow
sName = Environ("UserName")
If sName = "BuStue" Then
tabelle5.Rows.Hidden = False
Exit Sub
End If
vRow = Application.Match(sName, tabelle5.Columns(2), 0)
If IsError(vRow) Then
MsgBox "Der User " & sName & " ist nicht vorhanden.", vbCritical, "Gebe bekannt..."
Exit Sub
End If
Application.ScreenUpdating = False
With tabelle5
.Unprotect "0000"
.Rows("9:34").Hidden = True
.Rows(vRow).Hidden = False
.Protect "0000"
End With
End Sub

Gruß
Rudi

AW: Admin
27.11.2012 15:04:21
BuStue
Hallo Rudi,
klappt einwandfrei, recht vielen Dank für Deine Bemühungen.
MfG
Burghard

Anzeige
AW: VBA Code umschreiben
27.11.2012 13:09:58
BuStue
Hallo Rudi,
Ergänzung: ich erhalte die Fehlermeldung 1004 Die Match-Eigenschaft des WorksheetFunction-Objektes kann nicht zugeordnet werden.
MfG
Burghard

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige