Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
540to544
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
540to544
540to544
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Fehlermeldung

Fehlermeldung
04.01.2005 13:33:10
Peter
Hallo Excels,
auf meinem Rechner fuktioniert dieses Makro.
Gebe ich die Datei Weiter erscheint eine Fehlermeldung.(Laufzeitfehler 13)

Private Sub Worksheet_Activate()
ActiveWorkbook.Unprotect Password:="xxx"
If Range("iu1") > 0 Then
ActiveSheet.name = Range("iu1")
Else
ActiveSheet.name = "2"
End If
Dim name
name = Application.UserName
If name = Application.UserName Or name = "HHH" Then
Else
MsgBox "Sie haben keine Berechtigung für diese Seite"
Sheets("Urlaubsplanung").Select
End If
ActiveWorkbook.Protect Password:="xxx"
End Sub

Wer kann helfen.
Gruss Peter

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehlermeldung
04.01.2005 13:40:08
Matthias
Hallo Peter,
bei welcher Zeile erscheint denn die Fehlermeldung?
Und was ist nochmal der Fehler 13 im Klartext?
erster Ansatz: vielleicht mag Excel die Variable "Name" nicht. Sie ist nämlich aus ein Befehl (Name [alterpfad] As [neuerpfad]).
Nenn' sie doch mal anders.
Gruß Matthias
AW: Fehlermeldung
04.01.2005 13:50:02
Peter
Hi Matthias,
Fehler 13 = Typen unverträglich
Name habe ich schon mit name2 ersetzt.
Das komische ist ja, es müsste doch wenigstens die Msgboxmeldung ausgegeben werden.
Aber mann kann die Fehlermeldung wegdrücken und lustig ins Blatt schreiben.
Der Befehl (Sheets("Urlaubsplanung").Select
)wird garnicht mehr ausgeführt.
Gruss Peter
Anzeige
AW: Fehlermeldung
04.01.2005 13:57:01
Matthias
Hallo Peter,
name2 = Application.UserName
If name2 = Application.UserName Or name = "HHH" Then
Else
MsgBox "Sie haben keine Berechtigung für diese Seite"
Sheets("Urlaubsplanung").Select
End If

Der Else-Zweig wird nie erreicht, da die If-Bedingung immer wahr ist (du setzt ja vorher name2 auf UserName und fragst dann oder das auch so geschehen ist, und es geschieht halt immer ;-)
Gruß Matthias
AW: Fehlermeldung
04.01.2005 14:31:38
Peter
Hi Mattias,
hast recht.
Ich habe es verbessert.
Dim name2
name2 = Application.UserName
If ActiveSheet.name = name2 Then 'Or name2 = "HHH" Then
Else
MsgBox "Sie haben keine Berechtigung für diese Seite"
Sheets("Urlaubsplanung").Select
End If
aber leider funktioniert es auf einem anderem Rechner immer noch nicht.
Selbe Fehlermeldung.
Gruss
Peter
Anzeige
AW: Fehlermeldung
04.01.2005 14:51:48
Matthias
Hallo Peter,
was ist daran besser?
name2 = Application.UserName
If name2 = Application.UserName then
'tu nix
Else
'tu was
End If
Du hast nach Then nix stehen, also gibt es keine Anweisung, wenn die Abfrage wahr ist - und der Else-Zweig wird immer noch nicht erreicht
Wer hat denn nun keine Berechtigung?
Gruß Matthias
AW: Fehlermeldung
04.01.2005 15:06:06
Peter
Hi Mattias,
so meine ich das.
Dim name2
liest den Anmeldenahmen aus. z.B.FritzH
name2 = Application.UserName
Wenn der Blattname gleich Username dann nix machen
If ActiveSheet.name = name2 Then 'Or name2 = "HHH" Then
Else
wenn der Blattname nicht gleich Username dann
MsgBox "Sie haben keine Berechtigung für diese Seite"
Sheets("Urlaubsplanung").Select
End If
Gruss peter
Anzeige
AW: Fehlermeldung
04.01.2005 15:14:02
Matthias
Hallo Peter,
sorry, ich habe deine Änderung mit ActiveSheet.Name übersehen... :-)
Definiere mal die Variable als string:
Dim name2 As String
Gruß Matthias
AW: Fehlermeldung
04.01.2005 15:17:12
Matthias
Hallo Peter,
übrigens ist das kein wirksamer Schutz. Application.Username kann ganz einfach in Optionen - Allgemein geändert werden.
Mit Win2000/XP geht es besser mit Environ("USERNAME"), das gibt den Windows-Anmeldenamen zurück.
Gruß Matthias

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige