Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema ScrollBar
BildScreenshot zu ScrollBar ScrollBar-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Textfelder sperren für einige Zugriffe - @Klaus

Betrifft: Textfelder sperren für einige Zugriffe - @Klaus von: Mirko
Geschrieben am: 29.08.2014 13:50:54

Hallo Klaus,

der andere Thread ist abgeschlossen -- DANKE für die Hilfe -- habe den Fehler dann doch noch gefunden, bei mir heißt dies aber Textfeld und nicht Textbox.

Eine Frage habe ich aber trotzdem noch -- kann man bei der erkennung der Namen die Groß. bzw. Kleinschreibung relativieren?
d.h. egal wie der MA sich anmeldet ob mit Groß oder Kleinschriebung seines Namens wird er trotzdem erkannt?

DANKE

VG Mirko

  

Betrifft: AW: Textfelder sperren für einige Zugriffe - @Klaus von: yummi
Geschrieben am: 29.08.2014 13:55:20

Hallo Mirko,

Ucse wandelt alles in Großbuchstaben um. Beide Variablen mit Ucse behandeln und dann vergleichen, dann bist du nicht case sensitiv

Gruß
yummi


  

Betrifft: AW: Textfelder sperren für einige Zugriffe - @Klaus von: Mirko
Geschrieben am: 29.08.2014 14:00:06

Hallo Yummi,

Danke für die Rückmeldung aber:
jetzt hast du mich erwischt -- verstehe nur Bahnhof...

Kannst du mir dies bitte genauer erklären?

DANKE und Gruss Mirko


  

Betrifft: AW: Textfelder sperren für einige Zugriffe - @Klaus von: yummi
Geschrieben am: 29.08.2014 14:08:15

Hallo Mirko,

bei deienm Vergleich ob es der richtige User ist machst du folgendes, so in der Art

if UCase(Benutzer) = UCase(ErlaubterBenutzer) then
...

oder
analog mit select, ich weiß ja nicht wie dein Vergleich jetzt aussieht. Wenn Du noch schwierigkeiten hast, dann poste mal den Bereich wo du die Abfrage machst, ob das Textfeld gesperrt wird oder nicht.

Gruß
yummi


  

Betrifft: AW: Textfelder sperren für einige Zugriffe - @Klaus von: hary
Geschrieben am: 29.08.2014 14:22:38

Moin
Ist es der Code??

Private Sub Workbook_Open()
 Tabelle6.Cells(2, 1).Value = Environ("username")
 Worksheets("Tabelle6").Range("R1").Value = UCase(Environ("username"))'setzt Namen in Gross

ActiveWindow.DisplayWorkbookTabs = True
ActiveWindow.DisplayHorizontalScrollBar = True
Sheets("Tabelle1").Shapes.Range(Array("TextBox 1")).Visible = True

If Worksheets("Tabelle6").Range("R1").Value <> UCase("pfoh02") 'wandelt "pfoh02" in "PFOH02"_
    And Worksheets("Tabelle6").Range("R1").Value <> UCase("musik01") _
'---usw---

gruss hary


  

Betrifft: AW: Textfelder sperren für einige Zugriffe - @Klaus von: Mirko
Geschrieben am: 01.09.2014 08:32:35

Hallo hary,

vielen Dank für eure Hilfe, ja dies ist der Code, aber mit "UCase" funktioniert dies nicht.
Vielleicht habe ich mich auch falsch ausgedrückt.. Sorry

was ich wollte ist das es egal ist wie mann sich am Rechner anmeldet z.B.
Muster.Max oder muster.max oder Muster.max oder muster.Max -- diese Schreibweisen sollen akzeptiert werden und nicht komplett gross oder klein...

Gibt es dafür auch eine Prüfung ..
Vielen Dank
Gruss Mirko


  

Betrifft: AW:Codeintern von: hary
Geschrieben am: 01.09.2014 08:42:38

Moin
Dann nur Codeintern pruefen.

Private Sub Workbook_Open()
 Tabelle6.Cells(2, 1).Value = Environ("username")
 Worksheets("Tabelle6").Range("R1").Value = Environ("username")'setzt Namen wie angemeldet

ActiveWindow.DisplayWorkbookTabs = True
ActiveWindow.DisplayHorizontalScrollBar = True
Sheets("Tabelle1").Shapes.Range(Array("TextBox 1")).Visible = True

If UCase(Worksheets("Tabelle6").Range("R1").Value) <> UCase("pfoh02") 'wandelt Codeintern " _
pfoh02" in "PFOH02"_
    And Worksheets("Tabelle6").Range("R1").Value <> UCase("musik01") _
'---usw---

gruss hary


  

Betrifft: AW: AW:Codeintern von: Mirko
Geschrieben am: 01.09.2014 09:03:57

Hallo hary,

Danke -- das ist dann meine letzte Zeile aber irgendwie noch nicht korrekt..

And UCase (Worksheets("Tabelle2").Range("R1").Value <> "" Then
ActiveWindow.DisplayWorkbookTabs = False
ActiveWindow.DisplayHorizontalScrollBar = False
Sheets("Start Projekt").Shapes.Range(Array("Textfeld 7")).Visible = False

Fehler bei Kompilieren:
Syntaxfehler

VG Mirko


  

Betrifft: AW: AW:Codeintern von: yummi
Geschrieben am: 01.09.2014 10:00:48

Hallo hary,

eine Zeile die mit And anfängt kann nur einen Syntax Error hervorrufen, egal ob am Ende oder mittendrin. Kann es sein, dass diese Zeile zu der darüber gehört und Du nur ein _ am Ende der vorletzten Zeile vergessen hast?

Gruß
yummi


  

Betrifft: AW: AW:Codeintern von: Mirko
Geschrieben am: 01.09.2014 10:41:00

Hallo yummi,

hier mal alle Zeilen..

Private Sub Workbook_Open()
 Tabelle2.Cells(2, 1).Value = Environ("username")
Worksheets("Tabelle2").Range("R1").Value = UCase(Environ("username"))

ActiveWindow.DisplayWorkbookTabs = True
ActiveWindow.DisplayHorizontalScrollBar = True
Sheets("Start Projekt").Shapes.Range(Array("Textfeld 7")).Visible = True

If UCase (Worksheets("Tabelle2").Range("R1").Value <> UCase("pfoh02") _
' hier stehen noch mehr Zeilen zwischen wie die nächste Zeile da ja mehere MA Zugriff haben  _
sollen' 
And UCase (Worksheets("Tabelle2").Range("R1").Value <> UCase("Pfoh.M") Then
          ActiveWindow.DisplayWorkbookTabs = False
        ActiveWindow.DisplayHorizontalScrollBar = False
        Sheets("Start Projekt").Shapes.Range(Array("Textfeld 7")).Visible = False
End If

End Sub
VG Mirko


  

Betrifft: AW: AW:Codeintern von: yummi
Geschrieben am: 01.09.2014 10:54:25

Hallo Mirko,

den Teil wo der Fehler auftritt hast Du mit ... ausgeblendet!

Nochmal: Schau dir die Zeile direkt über dem Syntaxfehler an, diese muss mit _ enden!!! Das fehlt bei dir orakel ich jetzt mal.

Das _ besagt, dass der Ciode in der Zeile fortgesetzt wird, wenn das fehlt wird jede Zeile einzeln für sich betrachtet und eine zeile die mit And beginnt ist syntaktisch falsch, mach ein _ in die Zeile davor und alles ist gut

Gruß
yummi


  

Betrifft: AW: AW:Codeintern von: Mirko
Geschrieben am: 01.09.2014 12:07:14

Hallo Yummi,

ich habe in jeder Zeile am Ende ein _
siehe hier:

If UCase (Worksheets("Tabelle2").Range("R1").Value <> UCase("pfoh02") _
And UCase (Worksheets("Tabelle2").Range("R1").Value <> UCase("muster.max") _
And UCase (Worksheets("Tabelle2").Range("R1").Value <> UCase("user.test") _
And UCase (Worksheets("Tabelle2").Range("R1").Value <> UCase("Meier.Karl") _
And UCase (Worksheets("Tabelle2").Range("R1").Value <> UCase("Pfoh.M") Then
ActiveWindow.DisplayWorkbookTabs = False
ActiveWindow.DisplayHorizontalScrollBar = False
Sheets("Start Projekt").Shapes.Range(Array("Textfeld 7")).Visible = False
End If

End Sub

so sieht dies aus -- und dann trotzdem der Fehler

VG Mirko


  

Betrifft: AW: AW:Codeintern von: hary
Geschrieben am: 01.09.2014 12:12:03

Moin
Da fehlt/fehlen 'ne Klammer(n)
If UCase (Worksheets("Tabelle2").Range("R1").Value)
gruss hary


  

Betrifft: AW: AW:Codeintern von: Mirko
Geschrieben am: 01.09.2014 12:45:10

Hallo harvy, Hallo yummi,

vielen Dank für eure Hilfe funktioniert super -- Besten Dank an euch.

VG Mirko


 

Beiträge aus den Excel-Beispielen zum Thema "Textfelder sperren für einige Zugriffe - @Klaus"