Ru-Board.club
← Вернуться в раздел «Программы»

» Excel FAQ

Автор: Troitsky
Дата сообщения: 20.04.2005 19:40

Цитата:
С недавних пор скопировать данные не удается (раньше все работало), выдает следующую ошибку:
"Для этого требуется, чтобы ячейки имели одинаковый размер."

Проверь нет ли в копируемом и заменяемом диапазонах объединенных ячеек. Подобная проблема, кажется, может возникнуть в случае их наличия и перекрытия.
Автор: pazdak
Дата сообщения: 21.04.2005 12:26
Troitsky
Нет объединенных ячеек нет ни в копируемом, ни в заменяемом, это я проверял.

Не понятно почему на новый Лист копирует, а на Лист 2 нет?

P.S. Есть ли макрос определяющий есть ли на листе скрытые или объединенные ячейки?
Автор: monsoon
Дата сообщения: 21.04.2005 14:17
В Excel2000 если гиперссылка в Книге указывает на другую Книгу, то:
1. при открытии второй появляется панель инструментов web. Можно ли сделать, чтобы она не появлялась?
2. если у второй Книги выставлен атрибут только для чтения, то при закрытии Excel c этими Книгами в Win2000 в свойствах экрана во вкладке "Эффекты" устанавливается опция "Видеоэффекты для меню и подсказок"
Можно ли сделать так, чтобы эта опция не устанавливалась?
Автор: Tropin
Дата сообщения: 22.04.2005 09:43
pazdak
Странно, значит что-то там всё-таки есть ;)
А если создать новый и его переименовать в Лист2 и в него вставить?


Цитата:
Есть ли макрос определяющий есть ли на листе скрытые или объединенные ячейки

зачем макрос? можно просто выделить всё и показать скрытые ячейки, а также отменить объединение (можно конечно и макрос, но там тоже есть нюансы ;)

Автор: pazdak
Дата сообщения: 25.04.2005 11:44
Tropin
Цитата:
А если создать новый и его переименовать в Лист2 и в него вставить?
Это была самая первая мысль пришедшая в голову, но после удаления Лист 2, Лист 1 становиться чистым, т.е. все пропадает, после переименования Лист 2, все ссылки на Листе 1 также ссылаются на новое имя листа, т.е. не получается подпихнуть новый лист, поэтому и хочу выяснить что с этим случилось?
Автор: icywind
Дата сообщения: 25.04.2005 17:51
Либо это Excel глючит, либо я...

Раньше, когда для какой-нибудь ячейки делал "Данные->Проверка->Список", то при раскрытии списка его левая граница совпадала с границей самой ячейки, а правая - с границей картинки со стрелкой. Теперь же после тех же манипуляций этот список начинается намного левее и загораживает несколько ячеек слева от ячейки со списком. Можно ли как-нибудь его ширину настроить?
Автор: mp3exchanger
Дата сообщения: 25.04.2005 18:08
pazdak

Цитата:
Подскажите как Лист 2 вернуть в рабочее состояние?

Может ты этот второй (уже очищенный) лист выложишь где-нибудь... всё же больше шансов, что кто-нибудь поможет. А так, гадать только на пустом месте.
Автор: toNk
Дата сообщения: 25.04.2005 20:50
Господа, подскажите такой вопрос:
Вот был у меня файлик с одной замечательной функцией, которая находилась в "определенных пользователем". И вот, она оттуда по непонятной причине исчезла. Файл остался, и когда он открыт, функция все также работает, стоит закрыть - функции нету. Дело в том, что к компьютеру доступ общий, поэтому выяснить что на нем делали совершенно невозможно. Поэтому и взываю к вашей помощи...
Автор: dron_2005
Дата сообщения: 25.04.2005 20:57
Вопрос по Excel:

Допустим, на первом листе в разнобой идет перечисление дат, номера поездов, и количество людей. При помощи автофильтра узнаем, сколько людей было допустим
на поезде 160. Данные 160 поезда необходимо загнать на второй Excel лист. Далее получим на втором листе перечисление поездов, людей, дат но уже конкретно по номерам поездов, т.е
23.04.2005 160 поезд 20 человек
25.04.2005 160 поезд 15 человек
27.04. 2005 160 поезд 30 человек
Итого за месяц 160 поезд 65 человек
16.04.2005 200 поезд 10 человек
20.04.2005 200 поезд 15 человек
27.04. 2005 200 поезд 10 человек
Итого за месяц 200 поезд 35 человек
Вопрос следующий: можно ли автоматически сделать так, чтобы вбивая данные на первом Excel листе производилась выборка на втором Excel листе?
ПРИМЕР
Данные первого листа Excel:
25.04.2005 160 поезд 15 человек
20.04.2005 200 поезд 15 человек
27.04. 2005 200 поезд 10 человек
27.04. 2005 160 поезд 30 человек
23.04.2005 160 поезд 20 человек
16.04.2005 200 поезд 10 человек
Итого за месяц 100 человек
Данные второго листа Excel:
23.04.2005 160 поезд 20 человек
25.04.2005 160 поезд 15 человек
27.04. 2005 160 поезд 30 человек
Итого за месяц 160 поезд 65 человек
16.04.2005 200 поезд 10 человек
20.04.2005 200 поезд 15 человек
27.04. 2005 200 поезд 10 человек
Итого за месяц 200 поезд 35 человек
Автор: ivas
Дата сообщения: 25.04.2005 21:02
toNk
Сложно выяснить что произошло, но ситуацию можно поправить. Надо сохранить файл с работающей функцией как шаблон *.xlt, открываемый по умолчанию, в папке шаблонов MSOffice.
Или сделать из функции надстройку *.xla и подгрузить её.
Автор: icywind
Дата сообщения: 25.04.2005 22:52
Так и не разобрался я с этим списком допустимых значений. И Office переустановил, и все настройки перелопатил - та же фигня... Самое интересное, что в созданных ранее документах все нормально, а если скопировать из них данные и поместить в новый лист - снова ширина нарушается. Если копировать лист целиком - тогда все путем. Мистика какая-то... Может дело в каком из настроечных файлов?
Автор: toNk
Дата сообщения: 26.04.2005 00:06
ivas
Спасибо за советы, только в моем случае они не помогут. Выявилась тут странная закономерность:
Если перед открытием файла просто запустить Excel, все функции видны и работают, как и раньше.
А вот если просто открыть любой excel'евский файл, то этих функций нет, и не будет, пока я не открою файл, содержащий функцию.
Есть мысли?
Автор: vetal555
Дата сообщения: 26.04.2005 07:41
dron_2005
Как вариант:
лист2

A B C
месяц №поезда кол-во
4 160 ={СУММ(ЕСЛИ(МЕСЯЦ(Лист1!$A$2:$A$476)=A2;ЕСЛИ(Лист1! $B$2:$B$476=B2;расход!$C$2:$C$476;0);0))}
4 200 ={СУММ(ЕСЛИ(МЕСЯЦ(Лист1!$A$2:$A$476)=A3;ЕСЛИ(Лист1! $B$2:$B$476=B3;расход!$C$2:$C$476;0);0))}

Завершать ввод формулы нужно Ctrl+Shift+Enter

Добавлено:
dron_2005
={СУММ(ЕСЛИ(МЕСЯЦ(Лист1!$A$2:$A$476)=A2;ЕСЛИ(Лист1! $B$2:$B$476=B2;расход!$C$2:$C$476;0);0))}

Добавлено:
вот так правильно
={СУММ(ЕСЛИ(МЕСЯЦ(Лист1!$A$2:$A$476)=A2;ЕСЛИ(Лист1!$B$2:$B$476=B2;Лист1$C$2:$C$476;0);0))}

Добавлено:
Восклицательный знак пропустил
={СУММ(ЕСЛИ(МЕСЯЦ(Лист1!$A$2:$A$476)=A2;ЕСЛИ(Лист1!$B$2:$B$476=B2;Лист1!$C$2:$C$476;0);0))}
Автор: ivas
Дата сообщения: 26.04.2005 11:04
toNk
Всё правильно. Дело в шаблоне нового документа. При открытии Excel загружается чистый лист с новым шаблоном, а при открытии старого документа подгружается "как-бы испорченый" шаблон.
Других мыслей нет. Надо видеть ситуацию. На слух сложно...
Автор: Geezer S
Дата сообщения: 26.04.2005 13:53
toNk
СтОит посмотреть, где (в каком модуле) хранятся эти функции: Меню - Сервис - Макрос - Редактор VisualBasic. В крайнем случае вытащить их оттуда (можно копированием - вставкой как обычный текст), как правильно говорит ivas, вставить в новую книгу и сохранить ее как надстройку. Я так и делал, да еще эту надстроку в XLStart положил, так что функции доступны при открытии любой книги, хоть новой, хоть старой.
Автор: toNk
Дата сообщения: 26.04.2005 16:16
Geezer S

Цитата:
да еще эту надстроку в XLStart положил

В том то и дело, что они там и лежат! Но при открытии старых файлов не работают...

Автор: OdesitVadim
Дата сообщения: 28.04.2005 18:50
Обнаружил странный глюк Excel ХР. Маленький документ - 4 странички, но открывается полчаса.В документе ничего особенного. Но самое интересное следующее размер достаточно большой несколько мегабайт. В нём точно нет ячеек на n-ой строке или внедрённых объектов. Открыв ХЕКС редактором заметил в нём участки текста, которых там нет, а появиться случайно не могли. Когда автору документа показал их, то он сказал, что эти строки из одного из документов, с которых он копировал данные в этот.
Самое плохое, что таких докуменов последнее время стало много. Это точно не вирус и открывается документ "тяжело" и на других машинах.
Автор: ivas
Дата сообщения: 28.04.2005 21:51
OdesitVadim

Цитата:
Маленький документ - 4 странички, но открывается полчаса

А какой реальный объём файла? И при открытии жёский диск молотит? Или просто режим ожидания (непонятно чего)?
Автор: ssi
Дата сообщения: 29.04.2005 05:25
OdesitVadim
Вот вот такая же ерунда. Стоит Office 2003 SP1 Rus. Екселевские файлы начали пухнуть. Документ, который частично делался путем копирования данных из других документов, распух до 8 метров!!! А там всего то 6 листов с табличными даннымими и несколько формул.
Ну и точно также некоторые очень долго открываются. Что делать не понятно, хоть обратно Office XP ставь.
Автор: nofate
Дата сообщения: 29.04.2005 10:32
ssi
Похоже, вставку надо делать через "Специальная вставка" и там не вставлять как лист эксель, документ ворд и т.п.

Я так думаю...
Автор: OdesitVadim
Дата сообщения: 29.04.2005 11:08
ivas
ну так, помигивает диск время от времени, но думаю это не эксель.

Цитата:
А какой реальный объём файла?

Я понимаю, если с нуля набрать? не более 100кб
Автор: icywind
Дата сообщения: 29.04.2005 11:19
ssi
У меня с вордом похожая проблема была: я тогда курсач писал, и много раз его редактировал. Постепенно файл распух до нескольких метров. Тогда я просто создал новый файл и тупо скопировал в него всю инфу через буфер. Размер нового файла сразу уменьшился до 500 килов.
Автор: vetal555
Дата сообщения: 29.04.2005 14:06
Может кто-нибудь знает как добавить кнопку в окно останова которое выскакивает при неправильно введённом значении в ячейку (данные-проверка), через VB?. Либо перехватить это сообщение и назначить своё.
Автор: toNk
Дата сообщения: 01.05.2005 10:26
Господа, подскажите решение.
Пишу макрос, в котором нужно выделить весь столбец. Кто знаком с макросами знает, что эта сволочь в дальнейшем будет выделять только тот диапазон ячеек, который был выделен при записи, что меня напрочь не устраивает, т.к. диапазон этот бывает разным. Как вариант, можно просто выделить ячейки с запасом, но это не всегда подходит.
Собственно вопрос: как выделить ячейки, скажем со 2-й и по последнюю (под последней понимается та, после которой нет никаких данных в ячейке).
Автор: ivas
Дата сообщения: 01.05.2005 18:43
toNk

Цитата:
весь столбец.

Sub Col()
Columns("C:C").Select
End Sub
или всё таки до последнего заполненого значения?
Тогда цикл типа такого:

Sub Num()
Dim row As Integer, n As Integer
row = Application.CountA(Sheets("Base").Columns(1))
Лист1.Cells(2, 1).Value = 1
For n = 2 To row
.....
Next
n = n + 1
End Sub


Автор: toNk
Дата сообщения: 01.05.2005 19:35
ivas
А можно че-нить наподобие 1-го варианта, только не весь столбец, а со 2-й ячейки и до конца - такой вариант тоже устроит.
А то во втором примере я нифига не понял - не шарю я в VB...
Автор: uhty
Дата сообщения: 02.05.2005 04:42
Как в Excel последовательно пронумеровать ячейки в столбце без нумерации скрытых?
Если протягивать маркером автозаполнения, то скрытые ячейки тоже учитываются.
Надоть макрос писать... Но как передвинуть в макросе select на одну ячейку вниз, пропуская скрытые?
Автор: ivas
Дата сообщения: 02.05.2005 09:49
toNk

Цитата:
не весь столбец, а со 2-й ячейки и до конца

До конца - понятие относительное...
Вместо Columns("C:C").Select ставишь Range("C2:C65000").Select
Автор: toNk
Дата сообщения: 02.05.2005 11:04
ivas
Понял. Тогда давай вернемся к сложному варианту.
Можешь чуть подробней объяснить что есть что в этом фрагменте:

Цитата:
Dim row As Integer, n As Integer
row = Application.CountA(Sheets("Base").Columns(1))
Лист1.Cells(2, 1).Value = 1
For n = 2 To row
.....
Next
n = n + 1

А то он у меня так и не заработал...
Автор: Troitsky
Дата сообщения: 02.05.2005 12:30
toNk

Цитата:
как выделить ячейки, скажем со 2-й и по последнюю (под последней понимается та, после которой нет никаких данных в ячейке)

А если так?

Код: ActiveSheet.Range(Cells(2, 3), Cells(ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count - 1, 3)).Select

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Gentoo Linux


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.