Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2003/XP/2000 - [архив] Microsoft Excel

Закрытая тема
Настройки темы

Аватара для Greyman

Человек


Сообщения: 3313
Благодарности: 104

Профиль | Отправить PM | Цитировать


DSK
Цитата:
Хотелось бы найти более рациональный вариант ...
Более рацианальный ИМХО нужно все-же в базах данных смотреть. Для табличного процессора этот вариант просто не рассматриваеться. Можно попробовать Биллу с саппорт написать, вдруг в Офис2010 таки предусмотрит такую вещь...
Цитата:
Как копировать формулу ? Руками ?
Это можно делать когда строк не много, а когда их много - руками забодаешься копировать ...
У меня в итоге получился документ размером 800 страниц ...
А значения в дополнительный столбец каким образом можно заносить без макросов ?
Конечно руками. Какая разница, то? Формула ведь одна: выделил ячейку с формулой, выбрал - копировать, выделил весь столбец (или только 800 строк), нажал Энтер (или - вставить). В чем проблем, то? Соответственно так и заносишь...
Цитата:
Есть ли в Exel какая-нибудь переменная окружения или функция, которая бы хранила или возвращала № текущей страницы на листе? Если есть, то можно это значение вставить в ячейку дополнительного столбца и размножить эту ячейку на все строки документа...
Пока вроде не встречал, ИМХО нету. Хотя Эхель сам это знает (после предпросмотра по крайней мере)...
Цитата:
И тогда вариант с итогами по группам годится !
А чем тебе не нравиться предложенный вариант с принудительным указанием страницы? Смотришь сколько строк влезает на одну страницу, а потом используешь формулу, которая меняет свое значение через данное количество строк (можно даже на несколько строк меньше). Если интересует сам образец формулы, то можно использовать что-нить вроде этого:
Код: Выделить весь код
=ОКРВВЕРХ(СТРОКА(E1)/20;1)
Меняет свое значение каждые 20 строк. Единственный минус - это у тебя строки должны быть одинаковой высоты, иначе может получиться, что одна группа на одну страницу влезть не сможет. Но это решаеться либо принудительной задачей одинаковой высоты всем строкам, либо определение числа строк на страницы по наиболее толстым из имебщихся...

-------
Будь проще...


Отправлено: 15:45, 16-03-2004 | #51

DSK DSK вне форума

Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата:
Более рациональный ИМХО нужно все-же в базах данных смотреть.
100% согласен !!!
Но "маемо тэ що маемо"
Т.е. "имеем то что имеем"
А имеем dbf-файлы и FoxPro v2.6 для DOSa ...
Следовательно путь: генератор отчётов->отчёт в каком-то виде -> конвертация в Exel не катит ...

Цитата:
Можно попробовать Биллу с саппорт написать, вдруг в Офис2010 таки предусмотрит такую вещь...
я им писал ...
они мне ответили, что для того чтобы они мне ответили нужно онлайн зарегистрироваться, на кучу вопросов ответить и тогда может быть они ответят ...
в общем хлопотно ...
Цитата:
Хотя Эхель сам это знает (после предпросмотра по крайней мере) ...
Исходя из этого я и думал, что есть доступная переменная или функция, которая возвращает текущий № страницы ...
Почему её нету не понятно ... Даже в Foxe v2.6 1994 года выпуска (разработчик Microsoft) в отчётах есть переменная _pageno - которая возвращает № текущей страницы ...

Цитата:
Единственный минус - это у тебя строки должны быть одинаковой высоты, иначе может получиться, что одна группа на одну страницу влезть не сможет. Но это решаеться либо принудительной задачей одинаковой высоты всем строкам, либо определение числа строк на страницы по наиболее толстым из имебщихся...
В том-то и вся беда, что строки совершенно разной высоты и их количество на странице может меняться от 5 до 50

А делал следующим образом:
Брал высоту печатаемой страницы, проходил по всем ячейкам и суммировал их высоты и как только сумма высот~размеру страницы, то вставлял строку с посчитанными итогами ...

Отправлено: 16:50, 16-03-2004 | #52



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.

oasu


Сообщения: n/a

Профиль | Цитировать


Уважаемые, подскажите пожалуйста прогу для конвертации файлов Excel  в формат .dbf

Отправлено: 09:25, 17-03-2004 | #53


Аватара для hasherfrog

Старый параноик


Сообщения: 2423
Благодарности: 85

Профиль | Отправить PM | Цитировать


Сам Excel не подходит, что ли? Save as, выбираешь формат...

Отправлено: 09:45, 17-03-2004 | #54


Аватара для Greyman

Человек


Сообщения: 3313
Благодарности: 104

Профиль | Отправить PM | Цитировать


DSK
В общем порылся я в этом несчастном Эхеле... Номер страницы она самостоятельно действительно возвращать не умеет,... но есть так называемая коллекция объектов "PageBreak", используя которые, номера страниц таки можно узнать (и управлять разрывами страниц соответственно). Воть тебе пример, который я прикинул с этим делом:
Код: Выделить весь код
 
Sub Макрос1()
nPages = Worksheets(1).HPageBreaks.Count + 1 
'Считаем количество страниц 
nStrok = 800 
' Задаем число строк 
' Можно брать значение из какой-нить ячейки 
' или предварительно подсчитывать количество в выделенном диапазоне 
Stolb = 5 
'Номера страниц проставляем в столбце "E" 
If nPages = 1 Then 
 For i = 1 To nStrok 
 *Worksheets(1).Cells(i, Stolb).Value = 1 
 Next i 
Else 
 page = 1 
 pbRow = Worksheets(1).HPageBreaks(page).Location.Row - 1 
 For i = 1 To nStrok 
 *iRow = Worksheets(1).Cells(i, Stolb).Row 
 *If iRow > pbRow Then 
 * page = page + 1 
 * If page < nPages Then 
 * *pbRow = Worksheets(1).HPageBreaks(page).Location.Row - 1 
 * Else 
 * *pbRow = nStrok 
 * End If 
 *End If 
 *Worksheets(1).Cells(i, Stolb).Value = page 
 Next i 
End If 
End Sub
Так что можешь это использовать в своем макросе для самостоятельной вставки постраничных итогов (соответственно pbRow надо будет уменьшать пропорцианально номеру текущей страницы, иначе твои итоги могут уже на следующую страницу вылезти). Или можно использовать его прямо в таком виде в комбинации со стандартной функцией промежуточных итогов по группам.
* *Так легче?

-------
Будь проще...


Отправлено: 13:40, 17-03-2004 | #55


Пользователь


Сообщения: 119
Благодарности: 0

Профиль | Отправить PM | Цитировать


Допустим есть така таблица (в Excel):
1 к
2 а
3 в
и т.д.
Можно ли сделать так, чтобы при сортировке по алфавиту столбца с буквами, столбец с цифрами изменился соответствующим образом, т.е напроти буквы "а" была цифра 2, напротив "в" - цифра 3 и т.д.? Как это сделать?

Отправлено: 11:49, 18-03-2004 | #56



Administrator


Сообщения: 25152
Благодарности: 3798

Профиль | Сайт | Отправить PM | Цитировать


MER
только вот зачем темы дублировать?
эту: http://forum.oszone.net/topic.cgi?fo...amp;topic=1816
я закрываю, а тебе бы правила перечитать...

-------
FAQ по Windows 10 .::. Настройка Центра обновления в Windows 10 .::. Чистая установка Windows 10 – пошаговая инструкция


Отправлено: 11:55, 18-03-2004 | #57


Дикий


Сообщения: 543
Благодарности: 4

Профиль | Отправить PM | Цитировать


MER
Проще всего остортировать по буквам, а потом или скрипотм или руками протащить нумерацию

-------
Невероятное мы совершаем мгновенно, невозможное чуть дольше.


Отправлено: 11:59, 18-03-2004 | #58


Аватара для Greyman

Человек


Сообщения: 3313
Благодарности: 104

Профиль | Отправить PM | Цитировать


MER
* *"По уму", ИМХО, делать лучше так:
1) Выделяешь область, которую надо сортировать (как столбцы, так и строки, главное, чтобы обрасть неразрывная была).
2) Идешь в сортировку (ну тут вроде ясно - Данные/ Сортировка)
3) Выбираешь столбец, по которому надо сортировать записи (в твоем случае - второй) и параметры сортировки (например можешь даже сортировать не по столбцам, а по строкам).

Тока обрати внимание, что если сортируемые значения представлены в виде формул, то после сортировки они могут измениться (даже скорее всего, если они используют ссылки). Поэтому чтобы этого избежать, перед сортировкой необходимо перевести содержимое ячеек из формул в их значения).

-------
Будь проще...


Отправлено: 12:07, 18-03-2004 | #59

DSK DSK вне форума

Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


Greyman
Идея понятна !
Тоже вариант !
Цитата:
Так легче?
Думаю что варианты приблизительно равны ...

Самое главное что я хотел выяснить: можно ли было без использования макросов решить поставленную мне задачу ...
Общими усилиями выяснили, что нельзя!

Большое спасибо за обсуждение проблемы !


Отправлено: 14:43, 18-03-2004 | #60



Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2003/XP/2000 - [архив] Microsoft Excel

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2003/XP/2000 - [архив] Microsoft Excel 2003 и более ранние версии bobm Microsoft Office (Word, Excel, Outlook и т.д.) 541 25-01-2010 10:45
2007 - [архив] Microsoft Excel 2007 graverman Microsoft Office (Word, Excel, Outlook и т.д.) 100 12-12-2009 10:18
2007 - Microsoft Excel - общие вопросы shaint Microsoft Office (Word, Excel, Outlook и т.д.) 27 07-09-2009 16:17
Разное - [архив] Microsoft Office Microsoft Office (Word, Excel, Outlook и т.д.) 327 08-11-2007 23:21
Разное - [архив] Microsoft Outlook Bugs Microsoft Office (Word, Excel, Outlook и т.д.) 294 19-07-2007 21:50




 
Переход