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

Userform eingabe auslesen

Userform eingabe auslesen
22.02.2006 16:45:11
Torge
Hallo,
wer kann Hinweis geben?
Möchte die Eingabe bei einer Passwordabfrage in der Art auslesen, dass bei Eingabe von A Makro1 läuft und bei B Makro2. Ist das irgendwie zu realisieren?
Es soll je nach Eingabe des Buchstaben oder einer Zahl ein Bild im Tabellenblatt2 oder 3 gewechselt werden.
Dabei steht für den Bildwechsel folgender Code:
"In Tabelle1 steht"

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If [A1] = "A" Or [A1] = "B" Or [A1] = "C" Then
BILD_ANSICHT
Else
Tabelle2.Shapes("Bild 1").Visible = False
Tabelle2.Shapes("Bild 2").Visible = False
Tabelle2.Shapes("Bild 3").Visible = False
End If
End Sub

"Im Modul steht"
Sub BILD_ANSICHT()
If Tabelle1.[A1] = "A" Then
Tabelle2.Shapes("Bild 1").Visible = True
Tabelle2.Shapes("Bild 2").Visible = False
Tabelle2.Shapes("Bild 3").Visible = False
End If
If Tabelle1.[A1] = "B" Then
Tabelle2.Shapes("Bild 1").Visible = False
Tabelle2.Shapes("Bild 2").Visible = True
Tabelle2.Shapes("Bild 3").Visible = False
End If
If Tabelle1.[A1] = "C" Then
Tabelle2.Shapes("Bild 1").Visible = False
Tabelle2.Shapes("Bild 2").Visible = False
Tabelle2.Shapes("Bild 3").Visible = True
End If
End Sub
Danke schon an dieser Stelle.
Torge

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform eingabe auslesen
22.02.2006 17:13:05
PeterW
Hallo Torge,
mal als Ansatz:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
If [A1] = "A" Or [A1] = "B" Or [A1] = "C" Then
Bildansicht (Target)
Else
Tabelle2.Shapes("Bild 1").Visible = False
Tabelle2.Shapes("Bild 2").Visible = False
Tabelle2.Shapes("Bild 3").Visible = False
End If
End IF
End Sub
Sub Bildansicht(strEingabe)
With Tabelle2
.Shapes("Bild 1").Visible = False
.Shapes("Bild 2").Visible = False
.Shapes("Bild 3").Visible = False
Select Case strEingabe
Case "A"
.Shapes("Bild 1").Visible = True
Case "B"
.Shapes("Bild 2").Visible = True
Case "C"
.Shapes("Bild 3").Visible = True
End Select
End With
End Sub

Gruß
Peter
Anzeige
AW: Userform eingabe auslesen
22.02.2006 17:56:26
Torge
Hallo Peter,
viele Dank zunächst.
Ich muss noch einmal Fragen, wegen der -If Target.Address = "$A$1" Then
-. Das bezieht sich doch nur auf eine Zelle, richtig???. Das Auslesen sollte aber aus einer Eingabebox (Wenn man es so bezeichnen kann) erfolgen.
Ich habe zb. in einem Modul die Abfrage nach einer Kundennummer
"

Sub Mappezu()
Dim Kundennr As Integer
For i = 1 To Sheets.Count 'alle Tabellenblätter sperren
Sheets(i).Protect
Next i
Kundennr = InputBox("Kundennr") ' Kundennr, eingeben
With Worksheets(1).Range("a1:a500")
Set c = .Find(Kundennr, LookIn:=xlValues) ' Kundennr suchen
If Not c Is Nothing Then
firstAddress = c.Address
Do
If c = Kundennr Then ' Kundennr gefunden dann zelle B x anzeigen
MsgBox "Kundennr gefunden. Ihr Zugangscode = " & c.Offset(0, 1)
For i = 1 To 3
Sheets(i).Unprotect 'Tabellenblatt 1 bis 3 freigeben
Next i
End If
Exit Sub
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
MsgBox "keine Übereinstimmung!!" 'Kundennr falsch, Macro beenden. Blätter sind gesperrt.
End Sub
"
Wird nun der Buchstabe A eingegeben, sollt Bild A auf den nächsten Tabelle erscheinen, bei B, dann Bild B.
Ich denke da müsste es anders funktionieren.
Habe leider nicht so viel Erfahrung mit VBA, darum meine Frage im Forum.
Vielleicht kannst Du mir auch dabei Helfen oder eine Hinweis geben.
Vielen Dank
Torge
Anzeige
AW: Userform eingabe auslesen
22.02.2006 18:39:29
PeterW
Hallo Torge,
wie soll man das ahnen, wenn du mit dem Worksheet_Change-Ereignis arbeitest. ;-)
Also hier "Kundennr = InputBox("Kundennr") ' Kundennr, eingeben" wird A, B oder C eingegeben und in Abhängigkeit soll das Bild geändert werden? Das geht auf die gleiche Art und Weise:
For i = 1 To 3
Sheets(i).Unprotect 'Tabellenblatt 1 bis 3 freigeben
Next i
Bildansicht(Kundennr)
Allerdings dürftest du Probleme bekommen, da Kundennr als Integer dimensieniert ist. Ich kann auch deinem Code nicht so ganz folgen. Gibt es Kundennummern mehrfach? Und selbst wenn macht das Weitersuchen keinen Sinn, da du vorher die Routine verlässt?!
Gruß
Peter
Anzeige
AW: Userform eingabe auslesen
23.02.2006 09:23:21
Torge
Hallo Peter,
erstmal vielen dank für Deine Hilfe.
Nein, die Kundennummer gibt es nur einmal für jeden.
Entschuldige, hab mich event. es unklar ausgedrückt.
Die Kundennummer bezog sich auf den Fall, wenn ein öffnen der Datei wegen abgelaufenen Passwort nicht mehr
nicht mehr möglich. Ist nun die Kundennummer richtig, soll über das einblenden der Tabellen der
Zugriff auf die Tabellen möglich sein. Ich weiss leider nicht, ob man alles in einem Ablauf machen kann,
da ich hier nicht so bewandert bin.
Vielleicht so noch einmal.
Mit folgenden Code lass lass ich Tabellenblätter einblenden, wenn zb. A eingegeben wird soll die 4 Blätter für A eingeblendet werden und zusätzlich, wenn A eingegeben ist ein Bild. Bei Eingabe von B dann Bild B.
"Option Explicit
'einblenden tabellenblätter
Sub Abfrage()
Dim sh
Dim kw As String
kw = InputBox("Bitte geben Sie Ihr Kennwort ein ...")
If kw = "A" Then Sheets("BlattA").Visible = True
If kw = "A" Then Sheets("BlattA").Visible = True
If kw = "A" Then Sheets("BlattA").Visible = True
If kw = "A" Then Sheets("BlattA").Visible = True
If kw = "B" Then Sheets("BlattB").Visible = True
If kw = "B" Then Sheets("BlattB").Visible = True
If kw = "B" Then Sheets("BlattB").Visible = True
If kw = "B" Then Sheets("BlattB").Visible = True
If kw = "admin" Then
For Each sh In ActiveWorkbook.Sheets
If sh.Name <> "Auswahl" Then sh.Visible = True
Next sh
End If
End Sub "
und hiermit lasse ich mir die Bilder Anzeigen bzw. je nach Eingabe des Buchstaben wechseln.
Tabelle1

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If [A1] = "A" Or [A1] = "B" Then
BILD_ANSICHT
Else
Tabelle2.Shapes("Bild 1").Visible = False
Tabelle2.Shapes("Bild 2").Visible = False
End If
End Sub

Modul:
Sub BILD_ANSICHT()
If Tabelle1.[A1] = "A" Then
Tabelle2.Shapes("Bild 1").Visible = True
Tabelle2.Shapes("Bild 2").Visible = False
End If
If Tabelle1.[A1] = "B" Then
Tabelle2.Shapes("Bild 1").Visible = False
Tabelle2.Shapes("Bild 2").Visible = True
End If
End Sub
Also krz, es soll bei Eingabe A alle Blätter für A mit dem Bild für A eingeblendet werden und bei B
eben alles für B und das Bild von A mit dem Bild Von B getauscht werden bei Einblenden.
Das muss nun irdenwie angepasst werden in einem aber ich weiss eben nicht wie.
Das wird wahrscheinlich über die Kundennummer nich funktionieren,
denn hier muss dass sicher auch zusammen gefasst werden.Aber wie gesagt,
leider habe ich davon nicht all zu viel Ahnung.
Wenn Du mir nun noch helfen könntest, wäre super.
Ich danke Dir schon Mal an dieser Stelle
Hoffe habe mich jetzt besser erklärt.
Gruß Torge
Anzeige
AW: Userform eingabe auslesen
23.02.2006 09:36:48
PeterW
Hallo Torge,
im Prinzip hast du doch alles, was du brauchst. Rufe BILD_ANSICHT in der letzten Zeile von Abfrage auf und gib den passenden Buchstaben mit. In BILD_ANSICHT fragst du über Select Case den übergebenen Buchstaben ab und blendest die passenden Bilder ein. Den Code dazu findest du in meiner ersten Antwort.
Und für den Fall, dass ich das immer noch nicht richtig verstanden habe bastele eine Beispielmappe und lade sie auf den Server.
Gruß
Peter
AW: Userform eingabe auslesen
23.02.2006 14:04:36
Torge
Hallo Peter,
hab mal so'ne Beispielarbeitsmappe auf den Server geladen. Hoffe ist etwas verständlicher.

Die Datei https://www.herber.de/bbs/user/31361.xls wurde aus Datenschutzgründen gelöscht

Danke und Gruß
Torge
Anzeige
AW: Userform eingabe auslesen
23.02.2006 17:40:11
PeterW
Hallo Torge,
habe zwar noch immer nicht alles verstanden, beispielsweise was es mit der Kundennummer auf sich hat - aber schau dir das mal an:
https://www.herber.de/bbs/user/31368.xls
Gruß
Peter
AW: Userform eingabe auslesen
24.02.2006 10:14:54
Torge
Guten Morgen Peter,
vielen Dank.
Kann leider die Datei nicht öffnen zeigt bei mir Systemfehler &H80070017(-2147024873)., Datenfehler (CR-Prüfung) an. Kannst Du dies bitt noch einmal prüfen und mir die Datei noch einmal schicken?
Mit der Kundennummer hat den zweck, da die Datei jeweils nur für einen Nutzer gelten soll, d.h. wenn ein Nutzer angelegt ist mit seinen Daten wird diese unter dem Namen des Nutzer gespeichert als Kopie. Das Original bleibt immer bestehen. Die Kundennummer wird dabei etweder per Hand jedesmal eingegeben da diese in der Datei irgendwo fest stehen muss. Es erfoglt ein Ausdruck der Datei in Form einer Tabelle auf dieser steht dann die Kundnennummer. Nach ca. 4 Wochen soll das Passwort für das Öffnen der Datei ablaufen und der Nutzer sich nur noch mit der Kundennummer die Datei ansehen können, diese steh ja dann auch auf dem Ausdruck. Ob sich soetwas auch automatisieren lässt, weiss ich nicht da die Kundennummer nicht bei jeden öffnen dieser einen Datei vergeben werden darf, sie muss also fest stehen. Damit die Datei dann geöffnen werden kann mit der Kundennummer muss diese ja auch irgendwo stehen damit diese ausgelesen werden kann. Das andere Problem ist vermutlich, das nur das erste Tabelleblatt eingeblendet ist und alle anderen ausgeblendet sind und sich erst nach eingabe der Kundennummer, wenn diese stimmt einblenden dürfen.
Hab ich ich das jetzt etwas verständlicher erklärt? Hoffentlich.
Also Peter vielen Dank zunächst und eine schönen Tag für heute.
Gruß Torge
Anzeige
AW: Userform eingabe auslesen
24.02.2006 17:47:53
PeterW
Hallo Torge,
habe mir die Datei gerade runtergeladen und sie lässt sich ohne Probleme öffnen. Wenn du deine Mail-Adresse hinterlässt schick ich sie dir direkt zu.
Gruß
Peter
AW: Userform eingabe auslesen
25.02.2006 18:19:07
Torge
Hallo Peter,
vielen Dank.
E-Mail: t.nitzsche@web.de
Wünsch Dir ein schönes Wochenende und melde mich dann am Montag noch einmal bei Dir ob es so geht.
Also Danke, Gruß Torge
AW: Userform eingabe auslesen
26.02.2006 18:26:03
Torge
Hallo Peter,
vielen vielen Dank genau so dachte ich mir das. Da bekommt man gleich wieder
Hoffnung doch noch alles so hin zu bekommen wie es gedacht ist.
Wegen der Kundennummer, vielleicht noch mal ganz kurz, da ist gedacht:
Es wird von der Originaldatei eine Kopie erstellt in der Daten eingegeben werden,
diese werden dann nach der Eingabe ausgedruckt.
Dieser Ausdruck erhält eine Nummer, ich nenne es Mal Kundennummer und hier zb. die 7.
Wenn nun die Nutzung des Zugangspasswortes nach einem halben Jahr abgelaufen ist, soll es nur noch möglich sein, über diese Kundennummer, in diesem Fall die 7, die Tabellen anschauen zu können, d.h. einzublenden. Die Kundennummer darf dabei aber nicht bei jedem öffnen neu vergeben werden, da diese nur für diesen Kunden gedacht ist in dieser Kopie von der Origninaldatei. Es soll dabei nur die Möglichkeit bestehen bleiben, diese Kopie innerhalb eines festgelegten Zeitraumes so oft wie notwendig öffnen zu können, evt. noch einmal auszudrucken, aber ohne die Kundennummer neu zu vergeben. Das Beste wäre natürlich noch, wenn zusätzlich nach erfolgter erster Eingabe der Daten,
also evt. nach dem Abspeichern der Datei, eine Änderung der eingegebenen Daten nicht mehr möglich wäre, also die Zelleingabe gesperrt ist. Vielleicht könnte man das auch vom Zeitpunkt abhängig machen, ab dem des Zugangspasswort abgelaufen ist. Also ein Manipulation der Daten unmöglich zu machen.
Ich hoffe es ist nicht zu viel verlangt, wenn ich Dich bitte würde mir auch hier noch einmal zu helfen, soweit es Dir natürlich möglich ist.
Du hast mir sehr geholfen mit Deiner Beispieldatei und ich kann mich nicht genug bei Dir bedanken.
Wie gesagt, wenn Du mir in den letzte beiden Punkten auch noch einmal helfen könntest wäre einfach super.
Wünsch Dir einen schönen Wochenanfang bzw. für heute einen schönen Abend.
Gruß Torge
Anzeige
AW: Userform eingabe auslesen
26.02.2006 21:32:48
PeterW
Hallo Torge,
langsam verstehe ich die Sache mit der Kundennummer. :-)
Um dir in diesem Punkt Hinweise geben zu können wären viele Detailfragen zu klären: wie wird die Kopie erstellt? Ist dann das Original weg? Durch wen wird die Kundennummer vergeben? Aber da sich deine Versuche, eine Datei zu schützen allesamt in wenigen Sekunden umgehen lassen stelle ich infrage, ob sich der Aufwand lohnt - zumindest werde ich mich damit nicht weiter befassen. Ich hoffe auf dein Verständnis.
Gruß
Peter
AW: Userform eingabe auslesen
27.02.2006 10:20:44
Torge
Hallo Peter,
vielen Dank zunächst.
Ist kein Problem. Vielleicht noch einmal an dieser Stelle, die Datei ist für muss nicht so sicher sein, sollte nur ein leichten Schierigkeitsgrad haben damit nicht jeder Unbefungte die Daten sofort einsehen kann. Das bekomme ich auch hin. Die Kundennummer soll entweder manuell oder automatisch vergeben werden, je nachdem wie es möglich ist. Muss also auch nicht so kompliziert erfolgen. Geht halt nur darum, dass ab einem gewissen Zeitpunkt ein Lesen der Daten nur noch über die Eingabe der Kundennummer möglich sein soll. In der Art, "Passwortnutzung abgelaufen bitte Kundennummer, dann eingabe zb. 5, dann vergleichen ob diese Nummer in dieser einen Datei vorhanden ist, wenn öffnen, wenn nein dann schließen, wenn offen dann Schreibschützen, fertig."
Das Original bleibt natürlich immer erhalten, denn davon sollen die Kopienen ja gemacht werden. Es geht also nur um die Kopien vom Original.
Aber wie gesagt Peter, keine Problem.
Ich danke Dir auf jedem Fall für die Hilfe bis hierher und vielleicht hört man sich mal wieder.
Eine schöne Woche für Dich
Gruß Torge
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige