Привет всем я хочу создать в excel ячейку, которая содержала бы список, у которого есть более 50 выборов, проблема состоит в том, что из-за утверждения данных он только соглашается до 255 символов и только принимает мне первые 20 выборов. Также она должна быть отделенной (;) он не может быть через rando ячеек. Я пробовал с макросами в VBA следующей формы, но представь ту же проблему, когда я сохраняю документ, что я вновь открываю это, говорит мне, что есть проблемы, и когда он это исправляет, меня удаляет весь список. Это код в VBA:
Sub lista()
Range("B9").Select
With Selection.Validation
.Delete
.Add xlValidateList, xlValidAlertStop, xlBetween, "azul claro,azul oscuro"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = False
End With
End Sub
Конечно список гораздо больше более чем 50 выборов.
Спасибо заранее, если кто-то может помогать мне, это agredesco. Имейте хороший день.
Я буду представлять, что ты хочешь все в отдельных листах apara, что состоял fГЎcil в том, чтобы иметь данные в команде, и что не манипулировал ею informaciГіn:
Имен листов в книге Excel:
shtListas
: aquГ - мы помещаем наша (s) ты заносишь в список
shtFormulas
: aquГ - мы будем помещать формулы, в которых мы будем нуждаться, чтобы брать списки
shtDatos
: AquГ - мы помещаем все то, что мы требуем
shtListas : AquГ - мы добавляем в ранге (уже будьте в колонне или линии) все данные, которых мы занимаем в нашем списке, без restricciГіn tamaГ±o. Очень важно уважать, чтобы это были единственная колонна или единственная линия. Для этого примера я буду использовать только колонну. A1:A2015
shtFormulas : Мы будем наполнять следующие ячейки со стоимостью / формулами:
+----+-------------------------------------------------------------------------+---------------------+
| A1 | oLista | esto es un texto |
+----+-------------------------------------------------------------------------+---------------------+
| A2 | =ADDRESS(1,1,1,1,"shtListas")&":"&ADDRESS(COUNTA(shtListas!A:A),1,1,1,) | esto es una formula |
+----+-------------------------------------------------------------------------+---------------------+
DescripciГіn
Смоги использовать ее funciГіn DIRECCIГ “N, чтобы получать ее direcciГіn от ячейки в листе с упражнениями, костях они nГєmeros линии и колонны, определенный. Например, DIRECCIГ “N (2,3) возврати 2$C $. Как другой пример, ADDRESS (77,300) возвращает 77$KN $. Смоги использовать другие функции, как функции ЛИНИЯ и КОЛОННА, чтобы обеспечивать аргументы nГєmero линией и колонной для нее funciГіn DIRECCIГ “N.
Con ячейка отборные A2
, мы Будем нажимать на CTRL + F3
или пойдем в menГє FORMULAS>Define Name>Define Name
, как видят на фотографии:
Для того, чтобы появился следующий помощник:
И ты наполняешь поля, как он появляется на фотографии:
Name: oLista
Scope: Workbook
Comment: (es opcional, puede quedar en blanco)
Refers to: =INDIRECT(shtFormulas!$A$2)
Ямс: Это имя, которое мы будем использовать, чтобы называть весь ранг Refers to: это формула, которую мы будем использовать, чтобы искать наш список
В предыдущей ссылке, ты можешь находить informaciГіn, как функционирует она funciГіn INDIRECT, но кратко я объясняю, что, возьми текст как
' =INDIRECT ("B" & A5)
Сочетается "B" со стоимостью в ячейке A5, которой 5. Это возвращает ссылку на ячейку B5, которая содержит стоимость, 62.
Следовательно в нашем упражнении мы берем текст (контент) ячейки A2, и возвращаем ранг shtListas! $A $1: 2015$A $ на имя, которое мы определяем.
shtDatos
В этом листе, в ячейке A1
мы добавляем список validaciГіn с menГє DATA>DATA VALIDATION>DATA VALIDATION
, как видят на фотографии
Для того, чтобы появился следующий помощник:
И aquГ - Гєnico, которая определяющая, состоит в том, чтобы использовать Имя ранга "oLista", где говорит Source. Для того, чтобы наш список искал ранг, что у нас есть в листе shtListas
VBA
, И чтобы это делать с VBA
мы должны использовать следующего cГіdigo:
Sub rangeList()
Range("A1").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=oLista" 'Notese que acá agregamos el rango como una formula
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub
Код состоит в случае в том, чтобы ты захотел использовать макрос, чтобы добавлять список validaciГіn.
Преимуществ списка с именами ранга:
На случай, что список в листе shtListas был должен расти или медлить, могут менять себе стоимость без проблемы, (ГљNICAMENTE не оставлять место vacГ - вы между списком). Но asГ - список validaciГіn уходит обновлять automГЎticamente.
Я Сделал все отделенным только одной cuestiГіn (очень личный) от команды, но возможно делать все в единственном листе, того, чтобы быть необходим.