Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
920to924
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
920to924
920to924
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Seltsam

Seltsam
03.11.2007 10:26:29
Walter
Guten Morgen,
habe folgendes Makro für die Berechtigung:

Sub Test ()
If Not IstBerechtigtSchutzAlleTab Then
MsgBox "Sie haben keine Berechtigung,            " & Chr(13) _
& Chr(13) & "den Tabellenschutz zu entfernen !   " & Chr(13) _
& Chr(13) & "  " & Chr(13) _
& Chr(13), 48, " Hinweis !"
Exit Sub
Else...
und hier:


Function IstBerechtigtSchutzAlleTab() As Boolean
Dim rng As Range, i As Integer
With Sheets("Lager")
Set rng = .Range(.Cells(40, 16), .Cells(46, 16).End(xlUp))
End With
For i = 1 To rng.Rows.Count
If LCase(rng.Cells(i, 1)) = LCase(Environ("Username")) Then
IstBerechtigtSchutzAlleTab = True
Exit Function
End If
Next
End Function


Wenn ich jetzt einen Anwender in die Zelle 46 setzte, obwohl der Bereich bis dahin definiert ist,
kommt keine Berechtigung.
Lösche ich den Nutzer in 46, geht es weiter.
Wieso ?
mfg Walter MB

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

Betreff
Datum
Anwender
Anzeige
AW: Seltsam
03.11.2007 10:31:45
Hajo_Zi
Hallo Walter,
eine Function, kann nicht Bestanteil eines Makros seins. Du kannst eine Function nur aus einem Makro aufrufen.
Was ist

Wenn ich jetzt einen Anwender in die Zelle 46 setzte



AW: Seltsam
03.11.2007 10:52:47
Walter
Hallo Hajo,
es ist ja die Zelle "P46" = Z46Spalte16
ich verstehe es nicht, erweitere ich auf 47 ist alles i.o.
mfg Walter MB

ohne Schnörkel
ransi
HAllo
Versuche es doch mal ohne Schleife:
Option Explicit

Sub Test()
With Sheets("Lager")
Set rng = .Range(.Cells(40, 16), .Cells(46, 16).End(xlUp))
End With
If WorksheetFunction.CountIf(rng, VBA.Environ("Username")) = 0 Then
MsgBox "Sie haben keine Berechtigung, " & Chr(13) _
    & Chr(13) & "den Tabellenschutz zu entfernen ! " & Chr(13) _
    & Chr(13) & " " & Chr(13) _
    & Chr(13), 48, " Hinweis !"
Exit Sub
Else...

End Sub


ransi

Anzeige
AW: ohne Schnörkel
03.11.2007 10:54:27
Walter
Hallo Ransi,
danke für dein Beispiel aber der Fehler bleibt, auch bei deinem Beispiel.
Die Zelle "P46" = Z46 Spalte16
Ich verstehe es nicht, erweitere ich auf 47 ist alles i.o.
mfg Walter MB

AW: ohne Schnörkel
ransi
HAllo
Das end(XLup) wirft dich zurück.
Wenn du es mit Countif machst brauchst du es nicht.
Sub Test()
Dim rng As Range
With Sheets("Lager")
    Set rng = .Range(.Cells(40, 16), .Cells(46, 16))
End With
If WorksheetFunction.CountIf(rng, VBA.Environ("Username")) = 0 Then
    MsgBox "Sie haben keine Berechtigung, " & Chr(13) _
        & Chr(13) & "den Tabellenschutz zu entfernen ! " & Chr(13) _
        & Chr(13) & " " & Chr(13) _
        & Chr(13), 48, " Hinweis !"
    Exit Sub
End If

End Sub


ransi

Anzeige
Damit geht es ... -)
03.11.2007 11:51:44
Walter
Hallo Ransi, es funktioniert !
mfg Walter mb

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige