Microsoft Excel

Herbers Excel/VBA-Archiv

formular mit variable

Betrifft: formular mit variable von: Stefanie
Geschrieben am: 03.11.2014 12:21:51

Hey,

kann man diesen Befehlt mit einer Variablen durchführen?

Formula1:="=blatt!Z18S1:Z38S1"
Also dass quasi der hintere Teil zu einer Variablen wird. Z.B., so
Formula1:=Variable
?

Vielen Dank.

  

Betrifft: var = "=blatt!Z18S1:Z38S1" owT von: Rudi Maintaire
Geschrieben am: 03.11.2014 12:28:23




  

Betrifft: AW: formular mit variable von: Stefanie
Geschrieben am: 03.11.2014 12:40:00

Das hatte ich schon verucht und da bekam ich immer einen Fehler.
Von welchem Typ muss var sein?

Vielen Dank für die schnelle Antwort!


  

Betrifft: Variablentyp von: {Boris}
Geschrieben am: 03.11.2014 12:42:47

Hi Stefanie,

da Du den Formelstring brauchst: Vom Typ String ;-)

VG, Boris


  

Betrifft: AW: Variablentyp von: Stefanie
Geschrieben am: 03.11.2014 12:53:08

Hi Boris,

das hatte ich eigtl auch gedacht...Habs jetzt folgendermaßen definiert:


'Deklaration
Dim var As String
var= "=Personnel!Z18S1:Z38S1"
'Formular Anweisung
Cells(c, 5).Select
           With Selection.Validation
            .Delete
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:=var
            .IgnoreBlank = True
            .InCellDropdown = True
            .InputTitle = ""
            .ErrorTitle = ""
            .InputMessage = ""
            .ErrorMessage = ""
            .ShowInput = True
            .ShowError = True
        End With

Kommt immer noch: Anwendungs- und objekt Fehler und markiert mir :

.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:=var



  

Betrifft: AW: Variablentyp von: Rudi Maintaire
Geschrieben am: 03.11.2014 12:58:55

Hallo,
auf welchem Blatt findet das denn statt? Personnel?

Gruß
Rudi


  

Betrifft: AW: Variablentyp von: Stefanie
Geschrieben am: 03.11.2014 13:02:06

Das ist ein anderes Tabellenblatt. Da stehen die Sätze drin, die in die DropDown liste sollen. Und die Dropdown Lsite befindet sich wiederum in tabellenblatt Risiko.

Muss ich das noch angeben ?

Vielen dank


  

Betrifft: AW: Variablentyp von: Rudi Maintaire
Geschrieben am: 03.11.2014 13:06:49

Hallo,
Gültigkeitsprüfungen mit Bezug auf andere Blätter kannst du nur über den Umweg Indirekt() oder indem du einen Namen definierst realisieren.

Gruß
Rudi


  

Betrifft: AW: Variablentyp von: Stefanie
Geschrieben am: 03.11.2014 13:14:55

wie definiere ich einen Namen ? :-)
Das mit dem indirekt scheint nicht so konfortabel zu sein.


  

Betrifft: AW: Variablentyp von: Rudi Maintaire
Geschrieben am: 03.11.2014 13:20:51

Hallo,
kannst du auch im Code erledigen.

  var = "=MeineListe"
  Sheets("Personnel").Range("A18:A38").Name = Mid(var, 2)
  'Formular Anweisung
  Cells(c, 5).Select
  With Selection.Validation
    .Delete
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
        Operator:=xlBetween, Formula1:=var
    .IgnoreBlank = True
    .InCellDropdown = True
    .InputTitle = ""
    .ErrorTitle = ""
    .InputMessage = ""
    .ErrorMessage = ""
    .ShowInput = True
    .ShowError = True
  End With
Gruß
Rudi


  

Betrifft: AW: Variablentyp von: Stefanie
Geschrieben am: 03.11.2014 13:25:20

Cool Rudi!!
Vielen Dank für deine super schnelle Hilfe!


  

Betrifft: AW: Variablentyp von: Stefanie
Geschrieben am: 04.11.2014 11:35:39

Hey Rudi,

ich bekomme leider noch ne Fehlermeldung bei Zeile 2 von dem Code mit Sheets("Personnel") etc.
Habe dann Mid als range angelegt?

Aber hat auch zu keinem Erfolg geführt :-(


  

Betrifft: AW: Variablentyp von: Stefanie
Geschrieben am: 04.11.2014 12:30:22

ah ich habs! Für dejenigen dies auch wissen wollen...(bin auchmal nett :-P)

 Cells(c, 5).Select
         With Worksheets("Personnel")
         .Range(.Cells(2, 1), .Cells(38, 1)).Name = "Personnel"
        End With

        With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=Personnel"
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With





  

Betrifft: Variablentypen - Verständnis von: {Boris}
Geschrieben am: 04.11.2014 16:19:39

Hi Stefanie,

Habe dann Mid als range angelegt?

Das war ja auf diese Codezeilen bezogen:

var = "=MeineListe"
Sheets("Personnel").Range("A18:A38").Name = Mid(var, 2)


Die Mid-Funktion gehört zu den Textfunktionen - und gibt auch einen Text (String) als Ergebnis zurück.
Demnach kann das mit Range nix zu tun haben.

Die Excelhilfe ist dafür wirklich gut geeignet - man sollte halt nur ab und an mal reinschauen ;-)

Mid-Funktion

Gibt einen Wert vom Typ Variant (String) zurück, der eine bestimmte Anzahl von Zeichen aus einer Zeichenfolge enthält.
VG, Boris


 

Beiträge aus den Excel-Beispielen zum Thema "formular mit variable"