Range.Validation - Ich erhalte immer den selben Fehler beim ausführen des folgenden Codes. Wer kann Helfen?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Einen "selben Fehler" kenn ich nicht

2
Laufzeitfehler '1004':

Anwendungs- oder objektdefinierter Fehler
0

Ich denke, Du brauchst die englische Formel.
Teste mal:

 With Range("K2").Validation
   .Delete
   .Add xlValidateList, AlertStyle:=xlValidAlertStop, _
   Operator:=xlBetween, Formula1:="=OFFSET(kunde1,0,0,COUNTA(kunde1)-COUNTIF(kunde1,0))"
End With 
2

Funktioniert leider auch nicht

0

Beschreibe das mal genauer.

Bei mir funktioniert es.

2

Genauer arbeite ich mit Variablen, vielleicht liegt dann da das Problem:

For i = 1 to 10
a=a+1

  With Range("K" & i).Validation
       .Delete
       .Add xlValidateList,
        AlertStyle:=xlValidAlertStop, Operator:=xlBetween, 
        Formula1:="=OFFSET(kunde" & a & ";0;0;COUNTA _
        (kunde" & a & ")-COUNTIF(kunde" & a & ";0))"
  End With
Next i

Vielen Dank schonmal

0
52
@MatzeDGF

Auf jeden Fall musst Du schon mal die Semikola durch Kommata ersetzten, DAS sind die Trennzeichen in der englischen Fassung.
Aber irgendwie komme ich dann nicht weiter.

1
2

Hast du eine Idee?

0
52
@MatzeDGF

Nein. Bin auch "am schleudern".
Zumal auch mein erster Code, den ich gepostet hatte, komischerweise mal klappt und dann wieder nicht. In einem neuen Arbeitsblatt klappt er NICHT, aber nach ein paar mal rumexperimentieren klappt er plötzlich wieder, ohne das ich was geändert hätte.
Stehe auch vor einem Rätsel.

P.S.: Dein zusammengesetzte String sollte eigentlich so richtig sein.

0
52
@Oubyi

Ich habe jetzt mal versucht den Formel-String erst in eine Variable zu schreiben und dann Formula1:= Varable. Aber das klappt auch nicht.

0
2
@Oubyi

Das hatte ich auch versucht ohne Erfolg :(

Bei mir hat es auch einmal funktioniert und seit dem nicht mehr

0
2
@Oubyi

Aber sobald man hinter "Formula1" keine Formel schreibt, sondern einen beliebigen Text, dann funktioniert es ohne Probleme.

0
52
@MatzeDGF

Ja, ich habe da auch schon rumgetrickst.

Aber, sorry, jetzt fällt mir nichts mehr ein und ich gebe erstmal auf.
Vielleicht kommt mir ja heute Nacht noch eine gute Idee.
Oder ein anderer Experte hängt sich noch rein.
Ich drücke Dir die Daumen.
Ich behalte den Thread aber im Auge und schaue auf jeden Fall morgen nochmal rein.

1
2
@Oubyi

Vielen vielen Dank für deine Bemühungen.

0
2
@Oubyi

Ich danke dir für deine Hilfe... Ich denke, ich habe die Lösung gefunden zumindest hat es so funktioniert ohne Probleme:

Sub Validation()
ThisWorkbook.Worksheets("Kunden").Activate
Dim i, a
a = 6
    For i = 1 To 450    'Kunde1 bis Kunde450
    a = a + 1
    
        With ActiveSheet.Range("K" & i).Validation
            .Delete
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, _
            Formula1:="=OFFSET(kunde" & a & ",,,COUNTA(kunde" & a & ")-COUNTIF(kunde" & a & ",0))"
            .IgnoreBlank = True
            .InCellDropdown = True
            .InputTitle = ""
            .ErrorTitle = ""
            .InputMessage = ""
            .ErrorMessage = ""
            .ShowInput = True
            .ShowError = True
        End With
    
    Next i
    
End Sub

Ich hab lediglich auf ActiveSheet verwiesen und schon ging es

0

Excel VBA Pfad öffnen Makro funktioniert nicht

Hallo liebe Community, ich habe mir ein Makro gebastelt, welches einen Ordner öffnen und Zugriff auf die dort enthaltenen Dateien des Typs .doc geben soll.

Der Ordner lässt sich soweit öffnen- nur wenn man den öffnen Button drückt passiert leider nichts-

Dies ist der Code:

Sub aufmachen()

Dim strDateiName As String

With Application.FileDialog(msoFileDialogOpen)

.AllowMultiSelect = False

.InitialFileName = "C:*.doc"

If .Show = -1 Then

  strDateiName = .SelectedItems(1)

End If

End With

End Sub

Könnt ihr mir bei der Fehlersuche helfen? Viele Grüße

...zur Frage

EXCEL,VBA,Dropdown Inhalt ind Combobox?

Hey Leute,

Ich würde gerne einen Dropdown Inhalt der auf der Zelle A5 ist in eine Userform Combobox einfügen. Wenn ich es Probiere steht nur der name des 1 Gliedes des Dropdowns da..

Private Sub UserForm_Initialize()

With Worksheets("Tabelle1").Activate

Rechner.ComboBox1.RowSource = "A5"

End With

End Sub

Für Antworten bin ich euch dankbar

...zur Frage

For Steuervariabel wird bereits verwendet! was bedeutet das?

Hallo nochmals,

ich habe mit hilfe con einigen "gutefrage.net" usern einen code geschrieben und versuche jzt durch "Copy-Paste" es für jede Zelle anzuwenden.

Beim For-Befehl kommt immer folgende Meldung "For Steuervariabel wird bereits verwendet"

was bedeutet das ? heißt es, das man das "For" nur einmal in einem code gebrauchen kann ? wäre vielleicht ein "GoTo" befehl angebrachter? ( sprich: go to next cell, wenn die bedingung erfüllt ist )

hier ist der code:

sub kopieren( )

Dim Zelle As Range Dim Wert As Variant

Wert = ActiveSheet.Range("J16:j29")

With Sheets("Tabelle2") For Each Zelle In .Range("F6:G6")

If ((Range("J16").EntireRow.Hidden = True)

Or (Range("J16").EntireColumn.Hidden = True))

Or (Range("J16").Font.Strikethrough = True) Then

Zelle.Value = ActiveSheet.Range("J17")

Else

Zelle.Value = ActiveSheet.Range("J16")

With Sheets("tabelle2")

For Each Zelle In .Range("H6:I6")

If ((Range("J17").EntireRow.Hidden = True)

Or (Range("J17").EntireColumn.Hidden = True))

Or (Range("J17").Font.Strikethrough = True) Then

Zelle.Value = ActiveSheet.Range("J18")

Else

Zelle.Value = ActiveSheet.Range("J17")

End If End With End If Next Zelle End With End Sub

Danke schonmal für eure Tatkräftigen Hilfen :)))

Gruß Newb

...zur Frage

Was möchtest Du wissen?