Excel - Stvaranje padajućeg popisa na određenim stanicama
Problem
Htio sam stvoriti padajući popis iz podataka u Sheet2. Pokušao sam sljedeće kodove, ali ishod čini se da je netočan. Umjesto podataka u Tablici 2 koja se nalazi u padajućem popisu, padajući popis sadrži podatke iz Sheet1 (koji je moj odredišni list).
Također, željela bih imati padajući popis na određenim stanicama u kojima imam podatke o ćelijama prije, tj. Padajući popis treba biti u stupcu F tablice 1 gdje se nalaze podaci o stupcu E lista1 i ponavljaju se do kraja popis.
Ovdje je priložena datoteka na kojoj radim ovdje.
Riješenje
Izradite popis za provjeru valjanosti od ANOTHER WORKSHEET i navedite naziv raspona za tu provjeru (na listu2)
i upotrijebite ga kao formulu
Pokušao sam izmijeniti vašu makronaredbu bez ometanja, osim mijenjanja jedne ili dvije linije
Dao sam naziv raspona kao "rangename". možete ga promijeniti u makrou
Ako je potrebno, malo ga podesite.
Sub Dropdown () Dim x As Long, y Kao Long Dim objCell As Range Dim objDataRangeStart As Range Dim objDataRangeEnd As Range Dim rangename As String '>> Postavi raspon za valjan skup podataka wsSourceList = Listovi ("Sheet2") Set wsDestList = Listovi ("Sheet1") Postavi objDataRangeStart = wsSourceList.Cells (1, 2) 'Početni raspon padajućih unosa popisa Postavite objDataRangeEnd = wsSourceList.Cells (6, 2)' Raspon kraja za padajuće unose u popisu MsgBox objDataRangeStart MsgBox objDataRangeEnd '==== ============= S radnim listovima ("Sheet2") Raspon (objDataRangeStart, objdatarangaeend) .Name = "rangename" End With '=============== ====== '>> Postavi provjeru valjanosti na potrebnu ćeliju Postavite objCell = wsDestList.Cells (8, 4)' Lokacija padajućeg popisa 'MsgBox objCell x = 4 y = 6 Postavite objCell = wsDestList.Cells (x, y) 'Mjesto padajućeg popisa s objCell.Validation .Delete' .Add Type: = xlValidateList, AlertStyle: = xlValidAlertStop, Operator: = xlBetween, Formula1: = "=" & objDataRangeStart.Address & ":" & objDataRangeStart. Adresa '= ========================================== Vrsta oglasa: = xlValidateList, AlertStyle : = xlValidAlertStop, Operator: = _ xlBetween, Formula1: = "= rangename" '================================ ================================ .================== .IgnoreBlank = Točno .InCellDropdown = True .ErrorTitle = "Upozorenje" .ErrorMessage = " Odaberite vrijednost s popisa dostupnog u odabranoj ćeliji. " .ShowError = Istinski kraj s x = x + 1 'y = y + 1 petlja sve dok x = 51 kraj sub
Zahvaljujući venkat1926 za ovaj savjet.