imho.ws |
![]() |
![]() |
![]() |
# 1 |
Guest
Сообщения: n/a
|
Microsoft Excel: Вопросы и ответы
Нет ли у кого программки соответствующей ? Существует такая вещь - Office Recovery, пакет программ для восстановления файлов MS Ofiice и т.п., нужна хотя бы Excel Recovery - ни одна из найденных ссылок не работает :-(((
Демо версия восстанавливает лишь частично - т.е. не катит.. Пожелание Вопросы типа помогите написать макрос или помогите разобраться как работает макрос и т.д. не связанные с общими принципами работы Excell желательно не только подробно описывать но и сопровождать примером Читаем правила, за треп не по теме здесь наказывают, поэтому спасибы в репутацию или в приват. Последний раз редактировалось Alex Dark; 29.05.2009 в 06:52. |
![]() |
# 601 |
Administrator
Регистрация: 06.05.2003
Адрес: Московская Подводная Лодка
Пол: Male
Сообщения: 12 058
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
на самом деле я вопрос еще проще решил, через UltraCompare, сравнивая имеющееся и непрерывный отчет, и наложив фильтр "показывать только измененные строки". Но вообще интересно было бы посмотреть варианты решения, так сказать для общего развития. Вариант со скриптом, не смейтесь, но я как мартышка и очки с ним - так и не нашел куда его приладить
![]() да чего атачить-то? ![]() 1 2 4 5 7 9 10 а потом заставь эксель найти недостающие и вывести в другую колонку...
__________________
все "спасибы" - в приват и в репутацию! не засоряйте форум!!!! ~~~~~~~~~~~~~~~~~~~~~~ The time has come it is quite clear, our antichrist is M.M.
|
![]() |
![]() |
# 603 |
Newbie
Регистрация: 03.05.2009
Сообщения: 16
![]() |
Как сделать так, чтоб таблица не учитывала некоторые элемент? А именно графику и буквы. Дело в том, что когда вносишь эти элементы в ячейку, формула не работает.
Речь идет о таблице подсчета времени и без графических элементов и букв она теряет смысл. |
![]() |
![]() |
# 605 |
КОТовский
Регистрация: 12.03.2003
Адрес: ОренБюргер
Пол: Male
Сообщения: 1 569
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Рудко, так как до примера дело не дошло, то могу предположить что в ячейку ты заносишь некоторую информацию которая не соответствует принятым в экселе стандартам. Соответственно формула у тебя не считается. Выхода два:
1. откажись от "графики и букв" 2. пиши свой макрос, который будет понимать и отсеивать "графику и буквы" перед расчетом
__________________
Все мы финансовые гении и эффективные менеджеры, только не у всех одногруппник или сосед по даче - президент. |
![]() |
![]() |
# 606 |
Newbie
Регистрация: 22.01.2009
Сообщения: 26
![]() |
Вот скрипт, http://slil.ru/27685747
Он должен работать как фильтр. Если посмотреть, там всё понятно. В общих словах, он сравнивает инфу из первого и второго листа, и повторяющиеся строки пишет в листе 3, а не повторяющие в листе 4. Лист 1 1111 1111 2222 2222 333 333 444 444 555 555 Лист 2 2222 2222 333 333 444 444 В листе 3 показывает: 2222 2222 333 333 444 444 2222 2222 333 333 444 444 То есть почему то два раза одно и тоже. Как исправить? |
![]() |
![]() |
# 608 |
КОТовский
Регистрация: 12.03.2003
Адрес: ОренБюргер
Пол: Male
Сообщения: 1 569
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
это 2007 эксель
grooogler, проблемма у тебя в том, что алгоритм не удачный и выполняется два раза. добавь еще одну колонку с единичками - получится вообще непонятно что PS Этот код сравнивает любое количество колонок на точное совпадение листа2 с со строкой на листе1 и данные листа1 скидываются соответственно на 3 и 4 листы. т.е если на листе2 будет строка отсутствующая на листе1 то она вообще ни куда не попадет Код:
Sub Main2() Sheets(3).Cells.ClearContents: Sheets(4).Cells.ClearContents: Sheets(3).Activate i = 1 i3 = 1 i4 = 1 Do While Not IsEmpty(Sheets(1).Cells(i, 1).Value) j = 1 Sheets(1).Rows(i).Copy Sheets(3).Rows(i3) Sheets(1).Rows(i).Copy Sheets(4).Rows(i4) ok2 = 0 Do While Not IsEmpty(Sheets(2).Cells(j, 1).Value) ok = 0 For ii = 1 To Sheets(1).Cells(i, Columns.Count).End(xlToLeft).Column If Sheets(1).Cells(i, ii).Value = Sheets(2).Cells(j, ii).Value Then ok = ok + 1 End If Next If ok = Sheets(1).Cells(i, Columns.Count).End(xlToLeft).Column Then 'совпадение Sheets(4).Select Rows(i4).Delete i3 = i3 + 1 ok2 = 0 Exit Do Else 'нет совпадения ok2 = ok2 + 1 End If j = j + 1 Loop If ok2 = Sheets(2).Cells(1, Columns.Count).End(xlToLeft).Column Then Sheets(3).Select Rows(i3).Delete i4 = i4 + 1 End If i = i + 1 Loop End Sub
__________________
Все мы финансовые гении и эффективные менеджеры, только не у всех одногруппник или сосед по даче - президент. Последний раз редактировалось Alex Dark; 25.05.2009 в 13:37. Причина: добавил код |
![]() |
![]() |
# 609 |
Newbie
Регистрация: 22.01.2009
Сообщения: 26
![]() |
Убрал старый код, поставил этот.
Теперь так: 1 лист 1111 1111 2222 2222 333 333 444 444 555 555 2 лист 2222 2222 333 333 444 444 3 лист 2222 2222 333 333 444 444 555 555 4 лист 555 555 А должно быть: 3 лист 2222 2222 333 333 444 444 4 лист 1111 1111 555 555 Скрипт должен сравнивать ячейки в столбцах А листа 1 и 2. Если ячески совпадают - всю соответствующая строка помещается в Лист 3 Если ячески не совпадают - всю соответствующая строка помещается в Лист 4 p.s. http://slil.ru/27696874 |
![]() |
![]() |
# 610 |
КОТовский
Регистрация: 12.03.2003
Адрес: ОренБюргер
Пол: Male
Сообщения: 1 569
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Извините был напуган (из анекдота)
Подправь две строки выделенные красным. Код:
If ok = Sheets(1).Cells(i, Columns.Count).End(xlToLeft).Column Then 'Совпадение Sheets(4).Select Rows(i4).Delete i3 = i3 + 1 ok2 = -1 Exit Do Else ... If Not ok2 = -1 Then Sheets(3).Select Rows(i3).Delete i4 = i4 + 1 End If
__________________
Все мы финансовые гении и эффективные менеджеры, только не у всех одногруппник или сосед по даче - президент. |
![]() |
![]() |
# 611 |
Newbie
Регистрация: 22.01.2009
Сообщения: 26
![]() |
Теперь верно.
Но нужно чтоб было немного не так. Сравниваться должны в первом и втором листе только ячейки в столбце А. Примеры: А) (1 1 1 2 2 3 3 4 4 (2 2 2 3 3 (3 2 2 3 3 (4 1 1 4 4 Б) (1 1 1 2 2 3 3 4 4zzzzzzz (2 2 2 3 3 4 yyyyyyyyyyyy (3 2 2 3 3 4 4zzzzzzz (4 1 1 |
![]() |
![]() |
# 612 |
КОТовский
Регистрация: 12.03.2003
Адрес: ОренБюргер
Пол: Male
Сообщения: 1 569
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Ну извиняй... В твоем алгоритме сравнение шло по вертикали и по горизонтали. Я его просто правильно переписал.
PS Код:
Sub Main3() Sheets(3).Cells.ClearContents: Sheets(4).Cells.ClearContents: Sheets(3).Activate i = 1 i3 = 1 i4 = 1 Do While Not IsEmpty(Sheets(1).Cells(i, 1).Value) j = 1 Sheets(1).Rows(i).Copy Sheets(3).Rows(i3) Sheets(1).Rows(i).Copy Sheets(4).Rows(i4) ok2 = 0 Do While Not IsEmpty(Sheets(2).Cells(j, 1).Value) If Sheets(1).Cells(i, 1).Value = Sheets(2).Cells(j, 1).Value Then Sheets(4).Select Rows(i4).Delete i3 = i3 + 1 ok2 = -1 Exit Do Else 'разные ok2 = ok2 + 1 End If j = j + 1 Loop If Not ok2 = -1 Then Sheets(3).Select Rows(i3).Delete i4 = i4 + 1 End If i = i + 1 Loop End Sub
__________________
Все мы финансовые гении и эффективные менеджеры, только не у всех одногруппник или сосед по даче - президент. Последний раз редактировалось Alex Dark; 28.05.2009 в 06:33. |
![]() |
![]() |
# 613 |
Newbie
Регистрация: 04.06.2006
Адрес: Самара - городок
Сообщения: 46
![]() |
ПРивет ребята!
Задача такая: имеем 123.txt файл с четкой структурой Шапка |п\п|фам|имя|отч|статус|некий номер| |1|Иванов|Иван|Иваныч|инвалид|123-456-789 00| |2|Петров|Петр|Петрович|ветеран|321-654-987 11| ... |879|Семенов|Семен|Семенович||213-546-879 22| Необходима возможность сортировки по разным полям, например по "некий номер" или по "фам". В самом текстовике не сделаеш, но можно в Экселе. Когда капируеш через буфер в Эксел, то он вставляет каждую строчку в одну ячейку. Но если проставить после "|" ТАБ (Tab), то копируется в другую (следующую) ячейку, и после легко сортируется. Но в ручную проставлять ТАБы сил не хватает. Помогите автоматизировать процесс. И подскажите толковый справочник по VBA
__________________
Зри в корень! |
![]() |
![]() |
# 614 |
СуперМод
IMHO Консультант 2005-2009 Регистрация: 14.08.2002
Адрес: Московская ПЛ, ракетный отс
Пол: Male
Сообщения: 14 488
![]() |
sysser, в экселе есть замечательный модуль импорта данных. И если текст импортировать им - накакое предварительное редактирование текстовика не понадобится. Просто при импорте надо будет указать ему символ "|" в качестве разделителя ячеек...
![]()
__________________
Не засоряйте форум "спасибами"! Для выражения благодарности существуют ПС и репутация! Соблюдайте Правила! Распространенье наше по планете Особенно заметно вдалеке: В общественном парижском туалете Есть надписи на русском языке В. Высоцкий |
![]() |
![]() |
# 615 |
Guest
Сообщения: n/a
|
Не обновляються данные
Проблеммы:
1. знак равно и плюс возле цифер прячутся(не отображаться визуально) 2. дата: например вордовская "11.10" становиться "11.01.1900 2:24:00" В архиве: искодный док(так должно быть в ексель), файл ексель в который я скопировал, файл ексель который изменил типы http://rapidshare.com/files/247806263/berezani.rar.html. Тип "дата" и "текст". Изменяется только при нажатии F2 и enter по каждой ячейке. CTRL+SHIFT+ALT+F9 не помогает. Как можно обновить весь лист? Заранее спасибо. |
![]() |
# 616 |
::VIP::
Снесённный ветром Регистрация: 24.01.2004
Адрес: Самоварная губерния
Пол: Male
Сообщения: 3 473
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Я, конечно, в Excel совсем не спец, но у меня получилось так:
1. Формат - Ячейки - выбрать Текстовый. 2. Знак "+" будет при таком формате ячейки отображаться. 3. А перед знаком равенства поставить пробел и тогда знак "=" тоже отображается. |
![]() |
![]() |
# 618 |
Модератор
Регистрация: 05.06.2005
Адрес: Город-Герой Ленинград
Пол: Male
Сообщения: 2 178
![]() ![]() ![]() ![]() ![]() ![]() |
После копирования текста из Word'a в Excel выделяешь все нужные строчки -> формат ячеек... -> дата -> тип 14.3
Дата будет в формате 11.10.2009, а отображаться как "11.10" Удачи!
__________________
PC Only and Forever. Мы верим этот мир реален! (НИМ™®) |
![]() |
![]() |
# 620 |
КОТовский
Регистрация: 12.03.2003
Адрес: ОренБюргер
Пол: Male
Сообщения: 1 569
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
razik, даты в экселе это великое шаманство. Могу только посочувствовать. Дело в том, что в старое доброе DOS-овское время дату записывали в формате 01/10/1980, а микрософт через точку. Теперь он часто путает числа с датами и не полные даты конвертит так как хочет.
Единственный выход из этой ситуации записывать даты всетаки через наклонную черточку. т.к. наклонную черточку он пока еще понимает правильно PS Учти число 1,3 он у тебя обязательно воспримет как дату не зависимо от твоего желания
__________________
Все мы финансовые гении и эффективные менеджеры, только не у всех одногруппник или сосед по даче - президент. |
![]() |
Теги (метки) |
excel, microsoft excel |
|
|