Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
668to672
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
668to672
668to672
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

If IsRange(Variable) = False Then ... ?

If IsRange(Variable) = False Then ... ?
22.09.2005 13:47:37
Stefan
Hallo Excel-Profis,
ich bräuchte für mein Makro ein Wenn-Dann Beziehung die feststellt ob eine Variable eine Range (z.B. "A1:C15") ist, oder nicht. Habe mir das so vorgestellt:
If IsRange(Variable) = False Then
MsgBox "Variable ist keine Range"
Else
...
End If
Das funktioniert aber leider nicht. :-( Hat da evtl. jemand ne Idee?
Danke schon mal im voraus und viele Grüße,
Stefan

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

Betreff
Datum
Anwender
Anzeige
AW: If IsRange(Variable) = False Then ... ?
22.09.2005 14:24:53
Peter
Servus,
ne Boolean Abfrage fällt mir jetzt auch nicht ein, aber so könnts klappen.
Dim myrange As Range
On Error GoTo fehler
myrange = "String"
MsgBox "Richtig"
Exit Sub
fehler:
If Err.Number = 91 Then MsgBox "keine Range"
End Sub

MfG Peter
AW: If IsRange(Variable) = False Then ... ?
22.09.2005 14:25:10
Stefan
Also,
ich bin zwar kein ExcelProfi, darum folgende Frage:
"A1:C15" ist eine Adresse, möchtest Du prüfen, ob es sich um eine Adresse handelt?
oder:
Möchtest Du prüfen, ob die Variable eine oder mehrere Zellen enthält?
Dann:
If IsArray(Range("A1:C15") then
wird dann wahr, wenn mehr als 1 Zelle selektiert ist.
Gruß
Stefan.
Anzeige
AW: If IsRange(Variable) = False Then ... ?
22.09.2005 14:28:01
Alexander
Hallo Stefan.
Vielleicht so:
If TypeName(Variable) "Range" Then
MsgBox "BlaBlaBla..."
End If
Das bezieht sich aber rein auf den Datentyp der Variable. Wenn du feststellen möchtest, ob es eine Zelle oder mehrere (geht aus deiner Frage nicht klar hervor), dann musst du noch ein bisschen weiter machen:
If TypeName(Variable) "Range" Then
MsgBox "Keine Range"
Else
MsgBox Variable.Cells.Count & " Zellen in der Range."
End If
Gruß, Alex.
AW: If IsRange(Variable) = False Then ... ?
22.09.2005 14:31:38
IngGi
Hallo Stefan,
ob deine Variable ein Range ist, legst du bei der Variablendeklaration doch selbst fest. Wozu dann eine Abfrage?
Gruß Ingolf
Anzeige
AW: If IsRange(Variable) = False Then ... ?
22.09.2005 14:34:50
Heiko
Hallo Stefan,
z.B. so:

Function IsRange(strBereich As String) As Boolean
Dim lngHelp As Long
On Error GoTo Raus
lngHelp = Range(strBereich).Count
IsRange = True
Exit Function
Raus:
IsRange = False
End Function

Testen mit:

Sub Test()
MsgBox IsRange(InputBox("Geben Sie einen Bereich ein!", " Bereich"))
End Sub

Aber wozu das ganze, wo kommt den dieser Range her.
Wenn er eingegben wird, dann schau dir mal die Application.Inputbos an, nicht zu verwechseln mit der normalen Inputbox, da kann man angeben welchem Typ die Eingabe entsprechen soll. Somit bekommst du nur noch richtige Range Angaben.
Gruß Heiko

PS: Rückmeldung wäre nett !
Anzeige
AW: If IsRange(Variable) = False Then ... ?
22.09.2005 15:18:39
Stefan
Hallo zusammen,
vielen Dank für eure Antworten und sorry dass ich jetzt erst zurückschreibe!
Leider war meine Problemstellung nicht ganz eindeutig. Deshalb hole ich jetzt etwas weiter aus ... :-)
Die Variable wird wie folgt festgelegt:
Variable = "List!" & Sheets("Liste").Range("A1").Text
... und so in einer UserForm weiterverabeitet:
With ListBox1
.ColumnCount = 3
.ColumnHeads = True
.ColumnWidths = "100;25;25"
.RowSource = Variable
End With
Somit sollte eigentlich in der Zelle "A1" (Sheet Liste) die Range für die Listbox stehen (z.B. "A3:C14). Mein Problem ist/war also, dass ich eine Abfrage brauche, falls in A1 keine gültige Range eingegeben wurde.
Ich werde jetzt gleich mal den Lösungsvorschlag von Heiko S. ausprobieren. Die Lösung müsste wahrscheinlich schon so für mein Problem passen. Danke dir dafür Heiko!
Grüße
Stefan
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige