Excel ячейка со списком более чем 50 выборов в утверждении данных

Привет всем я хочу создать в 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. Имейте хороший день.

0
задан 01.11.2019, 16:38
1 ответ

Я буду представлять, что ты хочешь все в отдельных листах 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 |
+----+-------------------------------------------------------------------------+---------------------+

ADDRESS function

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

introducir la descripción de la imagen aquí

, мы Будем нажимать на CTRL + F3 или пойдем в menГє FORMULAS>Define Name>Define Name, как видят на фотографии:

introducir la descripción de la imagen aquí

Для того, чтобы появился следующий помощник:

introducir la descripción de la imagen aquí

И ты наполняешь поля, как он появляется на фотографии:

Name: oLista
Scope: Workbook
Comment: (es opcional, puede quedar en blanco)
Refers to: =INDIRECT(shtFormulas!$A$2) 

Ямс: Это имя, которое мы будем использовать, чтобы называть весь ранг Refers to: это формула, которую мы будем использовать, чтобы искать наш список

INDIRECT FUNCTION

В предыдущей ссылке, ты можешь находить 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, как видят на фотографии

introducir la descripción de la imagen aquí

Для того, чтобы появился следующий помощник:

introducir la descripción de la imagen aquí

И 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 (очень личный) от команды, но возможно делать все в единственном листе, того, чтобы быть необходим.

0
ответ дан 01.12.2019, 14:38
  • 1
    Спасибо я соединяю, очень хорошо объясненный детали, мне sirvió совершенный, проблема была что я делаю проект, который нуждался в том, чтобы иметь значение с excel, но когда он создавал мой список из-за ранга ячейки, мне давала ошибка, только функционировала, когда готовая эра, отделенная запятой. Но уже с твоим объяснением resolví проблема. извини мне задержку в ответе тебе, и спасибо за работа возьмите. –  william 19.11.2019, 17:01