Могу помочь с Microsoft Excel


Страницы :  1, 2  След.

Ответить на тему
 
Автор Сообщение

kvn_2001 ®

Создавать темы 18-Май-2013 12:25

По первому образованию программист, по второму - экономист.
По работе часто анализирую большие объемы данных.
Один из удобных инструментов анализа и окончательной визуализации данных - MS Excel.
Так что в нем приходится почти ежедневно копаться и находить разные фишечки типа "а как бы еще сделать..."
Не гуру, хотя не против, чтобы меня так называли :)
 

Grossboss

Создавать темы 18-Май-2013 18:45 (спустя 6 часов)

Посоветуй пожалуйста толковую книгу, а лучше видеокурс по эксельным макросам с нуля.
 

kvn_2001 ®

Создавать темы 18-Май-2013 20:56 (спустя 2 часа 10 минут)

1. Ну, вообще, сичтается, что Джон Уокенбах "Профессиональное программирование на VBA" - там много изданий по разным версиям Excel. Есть, например, здесь: http://excelvba.ru/books
2. Еще нравится Рэина Холи и Дэвид Холи "Excel трюки", но это уже не совсем обучение с нуля, а разные фишки.
3. Довольно полезно иметь под рукой джентельменский набор с примерами как открыть файл, как перейти на другой лист, как установить формулу или отформатировать данные. Например - http://www.twirpx.com/file/291320/
4. Плюс замечательный инструмент для новичка - это режим записи макроса, а потом посмотреть, что получилось и почему именно так.
5. И параллельно решать маленькие жизненные задачки с использованием Excel.
Часто пользователь любого уровня может найти какую-нибудь фишку на специализированных сайтах:
http://www.planetaexcel.ru/
http://www.msoffice.nm.ru/
http://www.cpearson.com/excel/whatsnew.aspx (На английском)
Про видеокурсы, к сожалению, не подскажу...
У Lynda.com есть несколько специализированных по Excel про сводные таблицы и что-то еще, но это не про VBA.
Надеюсь, ответил на вопрос.
PS Прошу прощения за множество ссылок на другие сайты в сообщении, но без этого на вопрос было не ответить. Ни в коем случае нельзя расценивать их как коммерческую рекламу, никакого отношения к этим сайтам я не имею, просто с их помощью повышал свои навыки работы с замечательной программой MS Excel. Надеюсь, не нарушил пункт "2.10. Ссылаться на другие ресурсы сети без видимой на то необходимости."
 

AlfaRomeo

Создавать темы 18-Май-2013 21:37 (спустя 41 минута)

kvn_2001, Скачал воронку продаж, сделанную в эксель (там стоит воскл. знак на ярлыке файа, видимо какой-то защищенный) закинул эксель файл в Яндекс диск, чтобы партнер мог тоже вносить изменения. Но у него при открытии файл доступен только для чтения и переименовывается Xl0000008 [Только для чтения] в , хотя у меня с этого же Яндекс Диска открывается и редактируется все отлично.
Подскажи пожалуйста в чем проблема?!
И второй вопрос: Мне в столбце "Кол-во дней на почте" нужно чтобы формула брала проставленную дату из столбца "Дата прибытия на почту" и каждый день прибавляла +1 - как выглядит формула?
 

lalian

Создавать темы 18-Май-2013 23:01 (спустя 1 час 24 минуты)

Есть хороший набор шорткатов? 10 офис или универсальные.
 

kvn_2001 ®

Создавать темы 19-Май-2013 21:42 (спустя 22 часа)

100706kvn_2001, Скачал воронку продаж, сделанную в эксель (там стоит воскл. знак на ярлыке файа, видимо какой-то защищенный) закинул эксель файл в Яндекс диск, чтобы партнер мог тоже вносить изменения. Но у него при открытии файл доступен только для чтения и переименовывается Xl0000008 [Только для чтения] в , хотя у меня с этого же Яндекс Диска открывается и редактируется все отлично.
Подскажи пожалуйста в чем проблема?!
Ну, трудно диагностировать на расстоянии. :)
Ладно, попробую. Навскидку:
1. Может, у него более ранняя версия Excel, чем та, в которой сохранен файл. Если, например, в 2003 офисе поставить утилиту чтения файлов формата 2007, то открывать он их будет, но слишком навороченные - в режиме "только для чтения"
2. А вообще доступ к твоему Яндекс-диску у него на чтение/запись? Если только на чтение, то проблема в этом.
А если он себе этот файл на локальный диск сохранит, и оттуда откроет - проблема сохранится? Понятно, что это не совместный доступ, но для проверки, кто виноват - Excel или Яндекс - самое то.
3. Если файл уже открыт у тебя, то для одновременного редактирования партнером должен стоять режим общего редактирования. В 2010 офисе это ставится здесь: "Рецензирование - Доступ к книге - Разрешить изменять файл нескольким пользователям одновременно (это также позволит объединять книги)". Иначе у вошедшего вторым файл будет открываться только на чтение...
4. Судя по всему, там в файле есть макросы и, возможно, они пытаются что-то настроить. Если какие-то параметры Excel у вас отличаются, то эта настройка в одном из двух случаев не проходит. Например - у него безопаснотью перекрыт запуск макросов (Разработчик - Безопасность макросов - Параметры макросов - Отключить все макросы без уведомления).
5. Вообще, то, что файл еще и переименовывается с каким-то шаблонным именем с порядковым номером на конце, говорит о том, что это трудится какой-то макрос. Тогда все вопросы к макросу - он ведь может быть настроен/привязан к твоему компю, берет с него какие-то настройки, а на другом компе их нет, вот он и отрабатывает некорректно...
PS Про восклицательный знак. Если восклицательный знак в правом нижнем углу иконки на фоне желтого свитка, то это значит, что файл создан в 2007/2010 офисе в формате "Книга Excel с поддержкой макросов" - соответственно этот минизнак - историческое изображение макросов MS Office. Отношения к защите это не имеет.
И второй вопрос: Мне в столбце "Кол-во дней на почте" нужно чтобы формула брала проставленную дату из столбца "Дата прибытия на почту" и каждый день прибавляла +1 - как выглядит формула?
Ну, это просто. Допустим, в ячейке A3 у тебя дата, тогда формула прибавления 1 дня будет выглядеть как =A3+1.

Обрати внимание, что перед вводом дат в колонку A ее лучше выделить, затем нажать правую кнопку мыши и в выпавшем контекстном меню выбрать пункт "Формат ячеек..." или нажать сочетание клавиш "Ctrl" и "1". В обоих случаях откроется окно формата ячеек и там на вкладке "Число" (она и будет активна) выбрать числовой формат "Дата". Иначе вводимые данные могут расцениваться излишне интеллектуальным Excelем как текст, числа/цифры и т.п., при этом либо отображаться будет всякая ерунда, либо формулы работать не будут, потому что к тексту прибавить 1 нельзя, даже если этот текст и выглядит как дата...
 

kvn_2001 ®

Создавать темы 19-Май-2013 21:49 (спустя 7 минут)

100735Есть хороший набор шорткатов? 10 офис или универсальные.
Наверное, в основном те, что указал в сообщении выше. Версия офиса, как правило, не принципиальна, если не привязываться к каким-то новшествам типа срезов или инфокривых (спарклайнов) - раньше макросом встраивали диаграммы, сейчас есть штатные визуализации.
Про новшества, по-моему, лучше читать по F1 или на сайте мелкомягких (Microsoft), ибо русский перевод толковых книжек появляется года через 2 после выхода офиса в тираж.
Как-то так...
 

kvn_2001 ®

Создавать темы 27-Июл-2013 21:34 (спустя 2 месяца 7 дней)

Добрый день!
Решил опубликовать несколько уроков по MS Excel в своем живом журнале.
Сегодня разместил первый урок.
http://kvn-2001.livejournal.com/790.html
 

alesk

Создавать темы 05-Авг-2013 15:55 (спустя 8 дней)

kvn_2001, нужен макрос, который в выбранном столбце удаляет ячейки вместе о всей строкой, содержащие заданный текст(если есть возможность задавать регулярными выражениями вообще отлично).
2)
Макрос, который сравнивает 2 столбца, напримар а и b, а в c, d записывает:
c - элементы ячеек, которые встретились как в а так и в b столбце
d - значения из b столбца, не встретившиеся в столбце а
есть подобное?
 

aset_18

Создавать темы 06-Авг-2013 12:42 (спустя 20 часов)

Скажите пожалуйста,
Ведется одна таблица с двух городов, есть ли какой-нибудь доступный способ размещения в сети и редактирования данной таблицы без потери данных.
 

alesk

Создавать темы 06-Авг-2013 21:09 (спустя 8 часов)

aset_18, создай таблицу на диске гугл.
 

kvn_2001 ®

Создавать темы 15-Авг-2013 20:05 (спустя 8 дней)

130336Скажите пожалуйста,
Ведется одна таблица с двух городов, есть ли какой-нибудь доступный способ размещения в сети и редактирования данной таблицы без потери данных.
Доброго времени суток!
Сорри за длительное молчание, был в отпуске.
Больше такого не повторится :)
Во всяком случае, в ближайшем будущем.
Собственно, вопрос про одновременное редактирование - не совсем по Excel.
Просто размещаешь на общем ресурсе, доступном всем, кто должен редактировать.
Это может быть файл на гугле, на облаке и т.п.
Что касается собственно Excel - прочти мой ответ AlfaRomeo.
@для одновременного редактирования партнером должен стоять режим общего редактирования. В 2010 офисе это ставится здесь: "Рецензирование - Доступ к книге - Разрешить изменять файл нескольким пользователям одновременно (это также позволит объединять книги)". Иначе у вошедшего вторым файл будет открываться только на чтение..."
Вот, как-то так...
 

kvn_2001 ®

Создавать темы 15-Авг-2013 20:49 (спустя 44 минуты)

130000kvn_2001, нужен макрос, который в выбранном столбце удаляет ячейки вместе о всей строкой, содержащие заданный текст(если есть возможность задавать регулярными выражениями вообще отлично).
2)
Макрос, который сравнивает 2 столбца, напримар а и b, а в c, d записывает:
c - элементы ячеек, которые встретились как в а так и в b столбце
d - значения из b столбца, не встретившиеся в столбце а
есть подобное?
Доброго времени суток!
По 1 подумаю и постараюсь ответить завтра. По 2 - Вам точно нужен макрос?
Мне кажется, в этом случае лучше подойдет формула и дальнейший фильтр.
Допустим, есть колонки A и B с данными. В колонке C помечаем те данные из колонки A, которые не нашлись в колонке B.
В ячейке C2 пишем:
=ЕНД(ПОИСКПОЗ(A2;$B$2:$B$33;0))
протаскиваем ее ниже.
Здесь две вложенные простые формулы. Сначала внутренняя: ПОИСКПОЗ.
Это означает: берем значение в ячейке A2, сравниваем со значениями из диапазона B2:B33 (если Ваш диапазон больше, используйте заведомо большее число) и ищем позицию. Если позиция найдена, то вернется число, если не найдена - вернется значение #Н/Д. На него и проверяем внешней формулой =ЕНД() Итсина, если "#Н/Д".
Все - далее фильтруем и при необходимости удаляем/обрабатываем.
Да! Забыл сказать про обрамление значками долларов. Если написать просто B2:B33, то при перетаскивании формулы вниз формула контекстно "поедет" - то есть для A3 будет искать в диапазоне B3:A34, а это не совсем то, что нам нужно.
Можно и в обратную сторону. В ячейке D2 пишем формулу =ЕНД(ПОИСКПОЗ(B2;$A$2:$A$33;0)) и протаскиваем ее ниже.
То есть ищем B2 в диапазоне A2:A33.
Выглядит это примерно вот так:

Считаем вопрос закрытым или заморачиваемся с макросом?
 

kvn_2001 ®

Создавать темы 16-Авг-2013 22:54 (спустя 1 день 2 часа)

Доброго времени суток, alesk!
Про обещанное решение задачи 1.
1. Прежде всего нужно включить использование RegExp в редакторе VBA (Tools - References).
скрытый текст
2. Далее скопировать в текущий или новый модуль несколько функций для работы с регулярными выражениями на языке Basic
скрытый текст
' ----------------
Public Function fRegExpRepl(Строка As String, ШаблонПоиска As String, ШаблонЗамены As String)
Dim regex As New RegExp
With regex
.Global = True
.IgnoreCase = True
.MultiLine = True
.Pattern = ШаблонПоиска
End With
fRegExpRepl = regex.Replace(Строка, ШаблонЗамены)
End Function
' ----------------
Public Function fRegExpMatches(Строка As String, ШаблонПоиска As String, Разделитель As String)
Dim regex As New RegExp, s As String, matches, m
With regex
.Global = True
.IgnoreCase = True
.MultiLine = True
.Pattern = ШаблонПоиска
End With
Set matches = regex.Execute(Строка)
For Each m In matches
s = s & Разделитель & m
Next m
If Len(s) = 0 Then
fRegExpMatches = ""
Else
s = Right(s, Len(s) - Len(Разделитель))
fRegExpMatches = s
End If
End Function
' ----------------
Public Function fRegExpMatchesAr(Строка As String, ШаблонПоиска As String)
Dim regex As New RegExp, matches, m, i As Long, v()
With regex
.Global = True
.IgnoreCase = True
.MultiLine = True
.Pattern = ШаблонПоиска
End With
Set matches = regex.Execute(Строка)
ReDim v(1 To matches.Count)
For Each m In matches
i = i + 1
v(i) = m
Next m
fRegExpMatchesAr = v
End Function
3. Допустим, есть исходный файл с данными

4. Тогда требуемый макрос будет примерно таким
скрытый текст
Sub УдаляемФИО_ЕслиНайденТабельныйНомер()
Dim i, max, val As String, result As String
Dim DelStr
Const ЧтоИщем = "\d+"
Range("A2").Select
max = ActiveCell.SpecialCells(xlCellTypeLastCell).Row ' Определили последнюю заполненную ячейку. Взяли номер ее строки
i = 0
While i <= max - 2 ' max - 2 потому что идем со второй строки и до пустой - не включительно
val = ActiveCell.Offset(i, 0).Value ' Определили значение в ячейке, смещенной от текущей на i строк
result = fRegExpMatches(val, ЧтоИщем, ";") ' Поиск подстроки с использованием регулярного выражения
If result = "" Then ' Строка не содержит искомого значения
i = i + 1 ' Переходим к следующей строке
Else ' Что-то нашли. Нужно удалять строку
DelStr = ActiveCell.Row + i ' Определяем номер удаляемой строки
Rows(DelStr & ":" & DelStr).Delete Shift:=xlUp ' Удаляем строку с переходом вверх
max = max - 1 ' Количество строк уменьшилось
End If
Wend
End Sub
Как-то так. Собственно, не обязательно все запихивать в макрос. Можно результаты работы регулярного выражения записать в ячейку, и потом как-то вручную отработать фильтром-автофильтром, например, вот так:


Последний раз редактировалось: kvn_2001 (2013-09-14 20:11), всего редактировалось 1 раз
 

Владимир

Создавать темы 14-Сен-2013 18:11 (спустя 28 дней)

133628
скрытый текст
Доброго времени суток, alesk!
Про обещанное решение задачи 1.
1. Прежде всего нужно включить использование RegExp в редакторе VBA (Tools - References).
Господи, что это за женщина
 
Показать сообщения:    
Ответить на тему