Chcę dodać "sprawdzanie poprawności danych" w komórce (która jest zmienna) za pomocą języka VBA, a zakres, który ma znaleźć się na liście sprawdzania poprawności danych, również jest zmienny. Do tej pory używam tegoJak dodać weryfikację danych do komórki za pomocą VBA
Tutaj „Zakres1” to zakres, który ma przyjść na liście walidacji danych i „RNG” jest komórka, gdzie chcę walidacji danych
Dim range1, rng As range
Set range1 = range("a1:a5")
Set rng = range("b1")
With rng
With .Validation
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="range1"
End With
End With
otrzymuję „wniosek określony i zdefiniowany przedmiot błąd”
także może ktoś mi wyjaśnić znaczenie różnych argumentów
With .Validation
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="range1"
Hej Zrobiłem zmian i jego pracy dobrze, dzięki za pomoc "
Hej czy mógłby pan wyjaśnić
'
znowu w małym detalu, po prostu nie ukrywam, co to jest" = "" i "=!" , Jestem nowy w VBA, proszę nie zwracać uwagi lub jeśli masz jakiś link, gdzie mogę go szczegółowo przestudiować, będzie niesamowity. – Gajju
@Gajju, bez obaw, to łatwe :) pozwala zacząć! pożądany wynik jest mniej więcej taki: 'Formula1: =" = 'Arkusz1'! A1: A5 "' - Wszystkie formuły w programie excel rozpoczynają się od znaku równości: '='. Następnie '' Arkusz1 '! 'Oznacza, że zakres' A1: A5' należy do arkusza 'Arkusz1' (jeśli twoja nazwa arkusza _nie zawiera \ spacji, możesz pominąć westchnienie' '' tak jak to: Formula1: = "= Arkusz1! A1: A5 ".Nie chcemy jednak kodować tej formuły hardsem, więc używamy:' Formula1: = "= '" & ws.Name & "'!" & Range1.Address' gdzie 'ws.Name' zwraca arkusz name (np. "Sheet1") i 'range1.Address' zwraca' A1: A5'. –
Hej, było to łatwe do zrozumienia, dziękuję za poświęcony czas i jeszcze raz za pomoc ... – Gajju