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

Case bezug Zellen

Case bezug Zellen
08.06.2006 12:43:43
Walter
Hallo,
habe eine Case Anweisung:
Select Case Sheets("Lager").Range("A1:A20")
so war es bisher: 'Case "Schraube", "Stift"
Nun möchte ich den Bezug darauf nehmen so ?
Case Sheets("Lager").Value.Range("A1:A20")
klappt aber nicht...
gruß walter

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Bitte nicht lachen
08.06.2006 12:59:03
Walter
Hallo Hansueli,
habe ich ehrlich gesagt nicht verstanden...
Der Sinn bei mir, sollte sein, die Teile von A1:A20 eingeben und bei Makro aufruf
prüfen, wenn vorhanden, dann einsetzen.
gruß Walter
Ich lache nicht, versteh aber immer weniger
08.06.2006 13:11:25
EtoPHG
Hallo Walter,
Aus Deinem (kryptischen) ersten Eintrag entnehme ich, dass Deine Select Case Anweisung für die besagte Range nicht funktioniert. Der erwähnte Link enthält ein Beispiel einer Case Select Anweisung genau für diesen Fall, in dem alle Zellinhalte der Range überprüft werden soll. Ist das nicht Deine Frage, dann erklär bitte etwas ausführlicher was Du willst !
Beispiel:

For each c in Sheets("Lager").Range("A1:A20")
Select Case c.Value
Case "Schraube", "Stifte"
' mach was für die Schrauben oder Stifte
Case "Scheiben"
' mach was anderes für die Scheiben
Case Else
' mach nochmals was anderes wenn gar nichts zutrifft
End Select
Next c

Gruss Hansueli
Anzeige
Noch dazu...
08.06.2006 13:38:42
Walter
Hallo Hansueli,
ich habe DICH verstanden, entschuldige bitte, habe nicht so ein großes Wissen.
Das Problem bei mir, ich muß später die Teile vom Bereich "A1:A100" evtl. noch größer
ergänzen. Jetzt wollte ich es vermeiden ins Makro ca. 100 Einträge vorzunehmen.
Ich hatte gedacht mit Case Sheets("AlleTypen").Range("A1:A100") könnte man zugreifen,
und danach das Makro weiter ausführen.
Das Makro ist geschützt, deshalb hatte ich diese Möglichkeit gesucht.
gruß Walter
AW: Case bezug Zellen
08.06.2006 13:52:40
u_
Hallo,
dann musst du mit einer Schleife durch den Bereich.
Muster:

Sub tt()
Dim i As Integer, rng As Range
Dim strVergleichsWert As String
Dim blnFound As Boolean
strVergleichsWert = "Test"
With Sheets("Lager")
Set rng = .Range(.Cells(1, 1), .Cells(65536, 1).End(xlUp))
End With
For i = 1 To rng.Rows.Count
If rng.Cells(i, 1) = strVergleichsWert Then
blnFound = True
Exit For
End If
Next
If blnFound = True Then
'Anweisungen
End If
End Sub
Gruß
Geist ist geil!
(Dies ist ein allgemeines Statement und nicht an bestimmte Personen gerichtet.)
Anzeige
Ja aber
08.06.2006 14:22:18
Walter
Hallo U,
funktioniert, habe allerdings eine MSGBOX eingefügt:
If blnFound = True Then
'Anweisungen
else
MSGBOX "Die Teile nicht gelistet"
End If
Jetzt kommt direkt die MSGBOX ?
gruß Walter
Was ist "Test"
08.06.2006 14:51:15
Walter
Hallo U,
ich glaube ich habe einen Denkfehler durchgeführt.
Muß ich nicht erst eine Textbox aufrufen und dort das Teil einsetzen und dann geht es weiter ?
Ich hatte, glaube ich, etwas Falsch gedacht. Die Teile werden ja mit nichts gegen geprüft ...
Es könnte ja auch so eine Scroll-Box sein wo die Teile aufgeführt werden, ist vorhanden,
gehts es weiter sonst die MSGBOX oder ?
Bitte noch einmal mich belehren...
gruß walter
Anzeige
AW: Was ist "Test"
08.06.2006 15:02:26
u_
Hallo,
strVergleichsWert ist der Wert, den du auf Übereinstimmung mit dem Bereich prüftst.
Ist doch nur ein Beispiel. Ich weiß ja gar nicht, was du willst!
Gruß
Geist ist geil!
(Dies ist ein allgemeines Statement und nicht an bestimmte Personen gerichtet.)
Entschuldigung Hansueli + U hier...
08.06.2006 15:58:35
Walter
Hallo IHR Zwei,
entweder war die Sonne schon zu heiß oder...
Jetzt schildere ich mal Richtig mein Problem und hoffe das ich trotzdem
noch einmal Unterstützung erhalte.
Ich habe eine Textbox, für die Eingabe von Teilen, ich möchte jetzt aber
prüfen ob eine Berechtigung der Eingegebenden Person vorliegt.
Nicht die Teile, sondern die Personen stehen in der Tabelle ("Lager") bereich "C1:C10"),
da sind die Usernamen hinterlegt, ist also der der die Datei bearbeitet dort hinterlegt,
soll die Eingabe durchgeführt werden, sonst die MSGBOX.
Ich habe mich jetzt bemüht oder ?
gruß Walter
Anzeige
AW: Entschuldigung Hansueli + U hier...
08.06.2006 17:09:07
u_
Hallo,
dann machen wir das anders und checken die Berechtigung per Funktion.
In ein Modul:

Sub tt()
If Not IstBerechtigt Then
MsgBox "Das darfst du nicht!"
Exit Sub
End If
MsgBox "Bitte eintreten!"
'Call Datenverarbeitung
'oder andere Anweisungen
End Sub


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

Gruß
Geist ist geil!
(Dies ist ein allgemeines Statement und nicht an bestimmte Personen gerichtet.)
Anzeige
Noch nicht ganz
08.06.2006 17:57:30
Walter
Hallo U,
hatte gerade gedacht das es funktioniert,
leider wird die : MsgBox "Das darfst du nicht!"
ausgegeben.
Habe alles in Modul1 gesetzt.
Habe gedacht das man dies in meiner Textbox am Anfang reinsetzen kann, für später
Oder ?
Woran kann es liegen?
gruß Walter
Hallo Doch funktioniert...!!!!!!!!!!!!!!!!!!!!!!!!
08.06.2006 18:06:41
Walter
Hallo U,
Danke !!!!!!!!!!!!!!!!!!!!
Funktioniert, habe gerade am privaten PC getestet und meine User natürlich vergessen
einzusetzen.
mfg walter

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige