Forums

Forums (http://l2.prioz.ru/forum/index.php)
-   Трещалка (http://l2.prioz.ru/forum/forumdisplay.php?f=6)
-   -   Ыть .xlt (http://l2.prioz.ru/forum/showthread.php?t=5825)

RequiemForADream 28.04.2009 14:37

Ыть .xlt
 
Вложений: 1
эм.. собстсвенно такая вот трабла) может кто сможет помоч, уже 2ой день парюсь)
есть некий экселевский шаблон с формулами, базой и тп
при выборе N-ной ячейки *(на 1ом листе... в ячейках *Таб.номер*) появляется список ( табельный номер ), после выбора нужного в ячейке появляется номер, и в соседней ячейке имя и фамилия сотрудника и тп.. но
при добавлении новых людей в базу, с их табельными номерами и прочим
в этой N-ной ячейке не появляются новые\добавленые номера сотрудников...
при этом в бд всё чётко и ровно =(


добавленые перцы с 406 включительно...
сам список где появляются списки сотрудников (их номера), на 1ом листе... в ячейках *Таб.номер*
сама бд во вкладке pod >.<

прощу помощи) ну или пивасом в Москве угощу =)

Ясочка 28.04.2009 15:27

=ВПР(RC[-1];pod!R1C1:R405C2;2)
таблица выбора ограничена до 405 записей, даже если записывать в N-ю ячейку конечный табельный номер, будет все время показываться чел, стоящий на 405 записи.
смотрю дальше чего с N сделать мона

RequiemForADream 28.04.2009 15:53

Цитата:

Сообщение от Ясочка (Сообщение 115243)
=ВПР(RC[-1];pod!R1C1:R405C2;2)
таблица выбора ограничена до 405 записей, даже если записывать в N-ю ячейку конечный табельный номер, будет все время показываться чел, стоящий на 405 записи.
смотрю дальше чего с N сделать мона

да эт тоже запалил))
при попытке изменить на 446 формула становится видимой.. и не хочет убираться >.< точне становится не формулой =\ а текстом

Ясочка 28.04.2009 16:02

выбор N-ной ячейки обуславливается диапазоном ячеек с именем POD_05_08.
Для того, чтобы выбирались добавляемые ячейки, необходимо все время перезадавать этот диапазон. Для этого в таблице pod необходимо выделить диапазон ячеек с табельными номерами и задать для них новое имя. Очевидно, что список добавлялся и раньше, т.к. существуют имена pod_02_08 и pod_04_08 с различным диапазоном. После того, как имя будет задано, возвращаемся в таблицу Наряд_основной и там редактируем поле со списком, прописывая в нем новое имя диапазона ячеек: Проверка в меню Данные, вкладка Параметры, поле Источник.

Вообще, эксел никогда не заменит программ обработки БД.

ХимоБиоШмалеДоп 30.04.2009 11:21

А теперь объясните мне следующее:
- откуда взята формула, ибо у меня совсем другое показывает
- какие там макросы, ибо эксель на них ругается, но в макросах пустота о_0

Цитата:

Сообщение от Ясочка (Сообщение 115266)
Вообще, эксел никогда не заменит программ обработки БД.

легко, если вкурить

Ясочка 30.04.2009 12:00

У меня такое ощущение, что вы не имеете понятия ни о рассчетных таблицах, ни о БД.

ХимоБиоШмалеДоп 01.05.2009 11:45

Цитата:

Сообщение от Ясочка (Сообщение 115763)
У меня такое ощущение, что вы не имеете понятия ни о рассчетных таблицах, ни о БД.

Бросаться словами, как и агром на форуме может каждый, а у меня за плечами обработка переписи населения через VBA, преподавание предмета "разработка и эксплуатация удаленных баз данных" - однако на свои вопросы я так и не получил ответы :scratch_one-s_head:

Ясочка 01.05.2009 16:27

Тогда для вас это должно быть элементарщиной. Тогда мне еще более не понятно почему вы задали эти вопросы .

ХимоБиоШмалеДоп 01.05.2009 16:53

Цитата:

Сообщение от Ясочка (Сообщение 116032)
Тогда для вас это должно быть элементарщиной. Тогда мне еще более не понятно почему вы задали эти вопросы .

Потому что на терминале с работы в офисе 2007 я вижу всякую фигню в формулах :dash2:
Сейчас на буке уже смотрю на этот табель, одного не пойму, нафига надо было так усложнять все, не проще ли было сделать небольшой макрос? :scratch_one-s_head:

ХимоБиоШмалеДоп 01.05.2009 17:10

Короче можно написать макрос следующего ввида (об оптимизации пока умолчу):
1) процедура для занесения всех данных с листа "pod" в динамический массив
2) функция для сравнения значения табеля из екселя с массивом и выдачи результата

Все впринципи просто, если у меня будет сегодня более менее времени, может напишу для разминке за спасибо :wink:

ХимоБиоШмалеДоп 01.05.2009 17:41

Кстати, нет желания убрать всю БД в аксесс тот же? :blush:

ХимоБиоШмалеДоп 01.05.2009 17:57

В общем вот приблизительный код макроса, проблема в том, что почему-то у меня формулы не работают вообще:dash2:
Проверяй

PHP код:

Type xz
    Tabel 
As Integer
    FIO 
As String
End Type

Dim Len_BD
As Integer
Dim BD
() As xz

Function Search(Tabl As Integer) As String
    Inv_BD
    
For 1 To Len_BD
        
If BD(i).Tabel Tabl Then Search BD(i).FIO
    Next
End 
Function

Sub Inv_BD()
    
Worksheets ("pod")
    
Len_BD 1
    
While (Cells(Len_BD1) <> "")
        
BD(Len_BD).Tabel Cells(Len_BD1)
        
BD(Len_BD).FIO Cells(Len_BD2)
        
Len_BD Len_BD 1
    Wend
    ReDim BD
(Len_BD)
End Sub 


ХимоБиоШмалеДоп 01.05.2009 18:14

фиксанул мелкие баги и перешел к типам, на этом останавливаюсь, если что, форум, пм или аська :wink:


ЗЫ только первую строчку пустую удали :rofl:


Часовой пояс GMT +4, время: 18:01.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot