Yuk
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Из Excel FAQ: sizop: Цитата: У меня на отдельном листе составлен бланк паспорта. В разделе РЭС, из раскрывающегося списка выбирается РЭС. В разделе подстанции, также из раскрывающиегося списка, в котором имеются ТОЛЬКО те подстанции которые находятся в выбранном РЭСе, выбирается подстанция. Далее соответственно также выбирается КЛ, из списка тех КЛ, которые присутствуют на подстанции. | Цитата: надо определить кабельную линию конкртного РЭСа, конкретной подстанции, взять по нему данные (полностью эта строка) и определить эти данные в паспорт на отдельном листе. | Цитата: Здесь выложил файл размер 50 Кбайт чтобы на пальцах не объяснять. | Проблема зависимых выпадающих списков. Поскольку бланка паспорта у меня нет, пришлось сделать самому. Добавляешь новый лист, называешь Passport. Начиная с A1, копируешь (включая пробелы): Код: ЭС Место установки Диспетчерское наименование Марка кабеля Сечение кабеля Длина кабеля, м Год ввода Срок эксплуатации Тип муфты наружной установки внутренней установки Длительно допустимая нагрузка, А Зима Лето max нагрузка при аварийном режиме, А Зима Лето Примечания | Это заголовки полей. Далее идешь в VBA редактор (Alt-F11), в левой панели находишь лист "Passport", двойным кликом открываешь страницу кода. Туда вставляешь вот этот код. Теперь при активации этого листа в экселе заполняется выпадающий список ЭС. При выборе ЭС заполняется список в другой ячейке и т.д. Очищается кнопкой Delete. Форматировать ячейки можешь как угодно, но если будешь их двигать, надо будет аккуратненько модифицировать код. Добавлено: utmpatpc Попробуй заменить строки Код: Sheets("Sheet1").Cells(RowPtr, 1).Formula = CPS$ Sheets("Sheet1").Cells(RowPtr, 2).Formula = CPS2$ Sheets("Sheet1").Cells(RowPtr, 3).Formula = CPS3$ RowPtr = RowPtr + 1 | на Код: If Second(CPS3$) Mod 10 <> 0 Then Sheets("Sheet1").Cells(RowPtr, 1).Formula = CPS$ Sheets("Sheet1").Cells(RowPtr, 2).Formula = CPS2$ Sheets("Sheet1").Cells(RowPtr, 3).Formula = CPS3$ Sheets("Sheet1").Cells(RowPtr, 3).NumberFormat = "hh:mm:ss.0" RowPtr = RowPtr + 1 End If | Если будет выдавать ошибку, пришли ее описание и строку, где код останавливается (Жми Debug). Есть у меня подозрение, но проверить не могу. Цитата: Заметь в каком ввиде представляется время, выхожу из этого положения, созданием отдельного столбца, копирую туда время и меняю формат | А почему нельзя отформатировать непосредственно столбец С? В коде выше это учитывается. Добавлено: Кстати, может тебе убрать строки, когда весы выдают 0? | Всего записей: 1182 | Зарегистр. 02-07-2001 | Отправлено: 22:47 04-09-2006 | Исправлено: Yuk, 10:03 05-09-2006 |
|