Добрый день. Стараюсь не пользоваться новыми Excel'ями (2007+) только по одной причине (на самом деле причины две, вторая - ужасные веладки навигации в верхней части Excel, старые (2003) Менюшеи были несравненно удобнее тем, что всё сразу было под рукой, без веладок, но этот момент я пропущу, он не так разлражает и мешает...) : мне необходимо часто менять значение фильтрации в таблице. В 2003 было достаточно сделать 2 клика: фильтр -> новое значение фильтрации - всё: старое значение фильтрации убиралось, новое устанавливалось. Таких операций во время трёхчасовой операции с одной книгой может быть более двухсот. В новых же Excel'ях помимо установки старого значения надо снять старое значение. И хорошо, если они рядом. А если они совсем не рядом и перед установкой нового значения фильтрации забываешь снять старую фильтрацию, то нужно снова лезть в настройки фильтрации и искать и снимать старое значение фильтра среди 2000+ вариантов фильтрации. Даже без учета возможного забывания снятия старого значения - всё равно очень утомляет лишний клик при элементарной операции смены значения фильтрации.
Очень интересует такой момент: возможно ли в новых Excel'ях сделать фильтр как в 2003? Что бы опять менять значение фильтрации в два клика?
Здравствуйте. Имеется Excel 2003. Так же имеется некий корректный sql запрос, вот его примерное содержание.
Код
CREATE TABLE #tablica ....
INSERT INTO #tablica .....
SELECT ... FROM ... as a, ... as b
WHERE ....
GROUP BY ...
ORDER BY ...
SELECT ... FROM #tablica WHERE ....
То есть я создаю временную таблицу. Вношу в неё данные. И извлекаю из неё некоторые данные в query. В query я вижу необходимые мне данные. Но когда я закрываю окошко и в окне выбора места импорта данных нажимаю OK, у меня вместо ожидаемых данных в Excel написано лишь: "Запрос из scl_artc_2 Получение данных....". Потом текст "Получение данных..." пропадает и остаётся лишь "Запрос из scl_artc_2". Никогда раньше с таким не сталкивался. У меня мысль, что у query стоит ограничение по времени запроса, хотя может это и не так (запрос выполняется за, примерно, 5 секунд). Через временную таблицу всё получается красиво, а вот без неё придётся строить костыли макросами. Что посоветуете?
Доброго дня. Столкнулся с надобностью работы с компонентами VBA - очень нужен модуль работы со штрих-кодами. У меня - MS Excel 2003, VBA 6.5 Нужно.png - то меню, что мне нужно Нету.png - так выглядит моё меню
Беда - в моём VBA нет кнопки меню Project А очень нужен модуль работы со штрих-кодами. Тут показан пример работы со штрих кодами в VBA 6.0 У меня VBA 6.5, запускается из ms Excel 2003 и я застопорился просто на том, что у меня нет этой кнопки Project. Как её добавить?
Доброго дня. В примере среди артикулов есть значения, состоящие только из цифр и состоящие из цифр и букв. Никак не могу заставить искать функцию ПОИСКПОЗ все значения, в т.ч. цифровые. В интернетах этих ваших нашел фокус с прикреплением ""& к поисковому запросу. Что-то не выходит. Что я делаю не так? Excel 2003 SP3.
Workbooks(sName).Close закрывает текущую книгу, но открывает Книга4.xls, Не могу закрыть книгу с автозапускаемым макросом так, чтобы не появилось новой книги
Что хочу: Создавать 3 прайса xls, csv и csv по таймеру, не закрывая при этом другие открытые книги excel. Что получил: Всё работает как надо, за исключением того, что после последней строки макроса: Workbooks("Автоматика.xls").Close открывается новая "Книга4.xls", а если на момент выполнения макроса такая уже открыта, то "Книга5.xls" и т.д., в итоге после дня отсутствия за компьютером может быть открыто 20+ таких книг...
Как это делается: Запуск по таймеру файла Автоматика.xls Внутри макрос с автозапуском при открытии Макрос 3 раза создаёт новую книгу, запускает 3 других макроса из personal.xls Каждый новый макрос работает в новой книге, сохраняет результат в файл и закрывает книгу, остаётся после работы только открытая первоначальная книга После выполнения всех строк макроса Автоматика.xls должна закрыть себя И закрывает, но открывается "Книга4.xls"
Вопрос: как закрывать текущую книгу так, чтобы новая книга не открывалас?
Текст макросов такой: (После выполнения строчки • открывается Книга4.xls)
Код
Workbooks.Add
Run "Personal.xls!Макрос1"
<...Макрос1 начинается...>
<...сам макрос...>
ActiveWorkbook.SaveAs FileName:= "путь\имя.xls", FileFormat:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWindow.Close
<...Макрос1 закончился...>
Workbooks.Add
Run "Personal.xls!Макрос2"
<...Макрос2 начинается...>
FileName = "путь\имя2.csv"
Open FileName For Output As #1
...
Close #1
Close
ActiveWindow.Close
<...Макрос2 закончился...>
Workbooks.Add
Run "Personal.xls!Макрос3"
<...Макрос3 начинается...>
FileName = "путь\имя3.csv"
Open FileName For Output As #1
Close #1
Close
ActiveWindow.Close
<...Макрос3 закончился...>
sName = "Автоматика.xls"
• Workbooks(sName).Close
Добрый вечер. Excel 2003. Win 7. Что хочу: Запускать макрос планировщиком заданий, создавать книги, оставлять открытыми те excel-файлы, которые были открыты до начала работы макроса. Что сделал: 1) Разрешил изменять файл PERSONAL.XLS нескольким пользователям одновременно. 2) Сделал excel файл с автозапуском макроса, который выглядит так:
Код
Workbooks.Add
Range("A1").Select
Run "Personal.xls!Макрос1"
Workbooks.Add
Range("A1").Select
Run "Personal.xls!Макрос2"
Workbooks.Add
Range("A1").Select
Run "Personal.xls!Макрос3"
sName = "Обновление прайсов.xls"
Workbooks(sName).Close
sName = "Книга4.xls"
Workbooks(sName).Close
В чем проблема: после работы макроса остаются открытыми файлы "Книга4.xls", "Книга5.xls", и т.д. в зависимости от того, сколько раз был запущен макрос. +1 запуск = +1 открытый файл. Мыслей нет, что с этим делать. Подскажите пожалуйста.
Добрый день. У меня excel 2003. В примере в столбце A:A бывают значения: 1, 2, -. Я пытаюсь найти последнюю строку столбца A:A, значение ячейки которой совпадает со значением в ячейке A2. По какой-то причине формула <<[ =ПОИСКПОЗ(A2;A:A;1) ]>> выдаёт значение 100, хотя по моему разумению она должна выдать значение 48. При этом при всём значения ячеек A2 и A100 не совпадают! Прикрепляю красивый и понятный пример. Помогите, пожалуйста, найти при помощи формулы, а не макроса, последнюю строку столбца A:A, значение ячейки которой совпадало бы с значением в A2.
Использование диапазона Range с использованием переменной, ActiveChart.SetSourceData Source:=Sheets("t1").Range(Cells(stroka, 1), Cells(stroka, 5)), PlotBy:=xlRows - даёт ошибку 1004
Доброго дня. Хочу менять диапазон ячеек для исходных данных диаграммы при помощи макроса: всё работает, лишь печалит то, что не могу указывать диапазон переменной. Сейчас это работает так:
Код
If stroka = 1 Then ActiveChart.SetSourceData Source:=Sheets("t1").Range("A1:E1"), PlotBy:=xlRows
Потом будет If stroka = 2 и так далее - ну фигня же... индийский код и вообще неприемлемый вариант. Строк то больше тысячи в том файле, где надо пользоваться. А вот такая строка работать не хочет (переменная stroka соответствует номеру обрабатываемой строки данных):
Обе приведённые строки дают ошибку: Run-time error '1004': Method 'Cells' of object '_Global' failed
Прикрепляю .xls файл с примером на 13 строчек, все строки прокомментировал.
Соответственно вопрос лишь в том, как выделять диапазон в данном случае при помощи переменных. Дополнительный вопрос, если можно, как заставить макрос реагировать на нажатия пользователем кнопок клавиатуры (например вверх и вниз)?
Добрый день, хочу пополнить свои знания о VBA вот чем: Возможно ли пользователя попросить выделить столбец мышкой и продолжить работу макроса с тем, что указалю пользователь? т.е. макрос считает ответ, а потом просит пользователя тыкнуть мышкой, куда этот ответ вставить. Бывает такое в vba у excel 2003? Можно конечно через ввод с клавиатуры сделать, но хочется при помощи мышки. Такое возможно?
Доброго вечера. (Win 7, Office 2003) После нажатия кнопки "предварительный просмотр" и последующего закрытия открывшегося окна, можно видеть пунктирную границу листа, т.е. видеть то, что фактически будет распечатано на принтере - какой столбец/строка помещаются на первом листе, а какие - нет... Как можно найти ширину/высоту доступного для печати листа? Очень хочу понять, где будет конец листа и "разделить" после этого таблицу, как это делается в бухгалтерских документах - с добавлением промежуточных постраничных результатов. Но не могу найти/сформулировать необходимого запроса для поисковика, всё выдаётся не то, что я имею в виду... Метод подбора не подходит - сейчас я выяснил, что мне доступно 1028 пикселей в ширину, но на другом компьютере оказалось, нужно ограничиться меньшим числом пикселей.
Доброго дня. Обнаружил, что мой скрипт работает с файлом несколько месячной давности, хотя, по идее, должен работать всегда с актуальным файлом. Дата файла в кеше компьютера совпадает с датой файла, с которой работает скрипт. т.е. файл был скачан компьютером с себя же Подскажите пожалуйста, как скачивать файл игнорируя кеш?
Информация о системе: Office 2003 Win 7
Текст скачивания файла (имя сайта и файла изменены)
Код
Set XMLHTTP = CreateObject("Microsoft.XMLHTTP";)
XMLHTTP.Open "GET", Replace("[URL=http://site.ru/files/file.zip]http://site.ru/files/file.zip[/URL]", "\", "/";), "False"
XMLHTTP.send
If XMLHTTP.statustext = "OK" Then
Set ADOStream = CreateObject("ADODB.Stream";)
ADOStream.Type = 1: ADOStream.Open
ADOStream.Write XMLHTTP.responseBody
ADOStream.SaveToFile "C:\Users\MyUser\Desktop\zagotovka\1\file.zip", 2
ADOStream.Close: Set ADOStream = Nothing
DownloadFile = True
Else
MsgBox "Не удаётся скачать файл" & XMLHTTP.statustext
End If
Set XMLHTTP = Nothing
Добрый день Хочу сделать макрос, записываю свои действия, но для записи sql запрос слишком длинный и он записывается не полностью. Редактирую sql запрос в vba редакторе, он на меня время от времени ругается то на слишком большое число строк, то на неправильный синтаксис (sql команда 100% имеет верный синтаксис, чистый sql без oracle и т.д.) В итоге всё у меня работает кроме sql запроса. И если я из него уберу пяток строк, то запрос станет работать, но только такой запрос мне уже не нужен. Вопрос: как оформить длинный sql запрос в vba? Может его можно не сувать прямо в vba код, а загружать, допустим, из txt файла?
Порядок моих действий подробнее: 1) Сервис - Макрос - Начать запись 2) Данные - импорт - создать запрос Запрос имеет такой вид:
Код
select
SCL_ARTC.COD_ARTIC, ALL_ARTC.S50, ALL_ARTC.S100, SCL_ARTC.NAME_ARTIC, SCL_ARTC.NGROUP_TVR+' '+SCL_ARTC.NGROUP_TV2,
CASE
when SCL_ARTC.REZ_KOLCH < 0 then 0
when SCL_ARTC.REZ_KOLCH > 10 then 10
else SCL_ARTC.REZ_KOLCH
end 'К-во',
CASE
when SCL_ARTC.CENA_ARTIC = 0 then CAST(ROUND(SCL_ARTC.CENA_ARTIC, 2) AS int)
else CAST(ROUND(SCL_ARTC.CENA_ARTIC, 2) AS dec(10,2))
end 'О',
CASE
when ALL_ARTC.STR_P5='text1' then ''
when (SUBSTRING(SCL_ARTC.NAME_ARTIC, 1, 4)='text2' or SUBSTRING(SCL_ARTC.NAME_ARTIC, 1, 4)='text3') and ISNUMERIC(ALL_ARTC.S50)=1 then 'labuda1'
when SUBSTRING(SCL_ARTC.COD_ARTIC, 1, 1)='text5' and SCL_ARTC.COD_ARTIC = ALL_ARTC.S50 then 'labuda2'
when SUBSTRING(SCL_ARTC.NAME_ARTIC, 1, 4)='text6' or SUBSTRING(SCL_ARTC.NAME_ARTIC, 1, 4)='text8' or SUBSTRING(SCL_ARTC.NAME_ARTIC, 1, 4)='text9' or SUBSTRING(SCL_ARTC.NAME_ARTIC, 1, 4)='text10' then 'labuda3'
when (SUBSTRING(SCL_ARTC.COD_ARTIC, 1, 1)='text7' or SUBSTRING(SCL_ARTC.COD_ARTIC, 1, 1)='B') and CHARINDEX('text16',SCL_ARTC.COD_ARTIC)>0 then 'labuda4'
when (SUBSTRING(SCL_ARTC.COD_ARTIC, 1, 1)='text8' or SUBSTRING(SCL_ARTC.COD_ARTIC, 1, 1)='B') and CHARINDEX('text15',SCL_ARTC.COD_ARTIC)>0 then 'labuda5'
when SUBSTRING(SCL_ARTC.COD_ARTIC, 1, 1)='text9' then 'labuda6'
when SUBSTRING(SCL_ARTC.COD_ARTIC, 1, 1)='text10' then 'labuda7'
when (SUBSTRING(SCL_ARTC.COD_ARTIC, 1, 1)='text11' or SUBSTRING(SCL_ARTC.COD_ARTIC, 1, 1)='text13') and CHARINDEX('text15',SCL_ARTC.COD_ARTIC)>0 then 'labuda8'
when (SUBSTRING(SCL_ARTC.COD_ARTIC, 1, 1)='text12' or SUBSTRING(SCL_ARTC.COD_ARTIC, 1, 1)='text14') and CHARINDEX('text15',SCL_ARTC.COD_ARTIC)=0 then 'labuda9'
else 'labuda10'
end 'Пр',
CASE
when len(SCL_ARTC.DOP1_ARTIC) = 0 then ' '
else SCL_ARTC.DOP1_ARTIC
end 'Прим'
FROM SqlBase.dbo.ALL_ARTC ALL_ARTC, SqlBase.dbo.SCL_ARTC SCL_ARTC
WHERE ALL_ARTC.COD_ARTIC = SCL_ARTC.COD_ARTIC AND ((SCL_ARTC.ID_SCLAD=9) AND (SCL_ARTC.NGROUP_TVR<>'text'))
ORDER BY SCL_ARTC.NGROUP_TVR, SCL_ARTC.NGROUP_TV2, SCL_ARTC.NAME_ARTIC, SCL_ARTC.COD_ARTIC
В vba сразу уже усекается до такого
Код
.CommandText = Array( _
"select"&chr(13)&""&chr(10)&"SCL_ARTC.COD_ARTIC,
ALL_ARTC.S50, ALL_ARTC.S100, SCL_ARTC.NAME_ARTIC, SCL_ARTC.NGROUP_TVR+'
'+SCL_ARTC.NGROUP_TV2,"&chr(13)&""&chr(10)&"CASE"&chr(13)&""&chr(10)&"wh"
_
, _
"en SCL_ARTC.REZ_KOLCH < 0 then
0"&chr(13)&""&chr(10)&"when SCL_ARTC.REZ_KOLCH > 10
then 10"&chr(13)&""&chr(10)&"else
SCL_ARTC.REZ_KOLCH"&chr(13)&""&chr(10)&"end
'К-во',"&chr(13)&""&chr(10)&"CASE"&chr(13)&""&chr(10)&"when
SCL_ARTC.CENA_ARTIC = 0 then CAST(ROUND(SCL_ARTC.CENA_ARTIC, 2) AS
int)"&chr(13)&""&chr(10)&"else C" _
, _
"AST(ROUND(SCL_ARTC.CENA_ARTIC, 2) AS
dec(10,2))"&chr(13)&""&chr(10)&"end
'О',"&chr(13)&""&chr(10)&"CASE"&chr(13)&""&chr(10)&"when
ALL_ARTC.STR_P5='брак' then
''"&chr(13)&""&chr(10)&"when
(SUBSTRING(SCL_ARTC.NAME_ARTIC, 1, 4)='text' or
SUBSTRING(SCL_ARTC.NAME_ARTIC, 1, 4)='text'" _
, _
") and ISNUMERIC(ALL_ARTC.S50)=1 then
'text'"&chr(13)&""&chr(10)&"when
SUBSTRING(SCL_ARTC.COD_ARTIC, 1, 1)='text' and SCL_ARTC.COD_ARTIC =
ALL_ARTC.S50 then 'text'"&chr(13)&""&chr(10)&"when
SUBSTRING(SCL_ARTC.NAME_ART" _
,,,,,,,,)
После этого меняю текст .CommandText = Array ( ... вручную: в конце каждой строки в sql запросе пишу "&chr(13)&""&chr(10)&" потом объединяю строки, убирая переход строки. Получается 5-6 строк по 400-600 символов, дописываю в начало каждой строки " а в конец дописываю " _, заканчиваю текст знаками "). Получается вот это
Код
.CommandText = Array( _
"select"&chr(13)&""&chr(10)&"SCL_ARTC.COD_ARTIC, ALL_ARTC.S50, ALL_ARTC.S100, SCL_ARTC.NAME_ARTIC, SCL_ARTC.NGROUP_TVR+' '+SCL_ARTC.NGROUP_TV2',"&chr(13)&""&chr(10)&"CASE"&chr(13)&""&chr(10)&"when SCL_ARTC.REZ_KOLCH < 0 then 0"&chr(13)&""&chr(10)&"when SCL_ARTC.REZ_KOLCH > 10 then 10"&chr(13)&""&chr(10)&"else SCL_ARTC.REZ_KOLCH"&chr(13)&""&chr(10)&"end 'К-во',"&chr(13)&""&chr(10)&"CASE"&chr(13)&""&chr(10)&"wh" _
, _
"en SCL_ARTC.CENA_ARTIC = 0 then CAST(ROUND(SCL_ARTC.CENA_ARTIC, 2) AS int)"&chr(13)&""&chr(10)&"else CAST(ROUND(SCL_ARTC.CENA_ARTIC, 2) AS dec(10,2))"&chr(13)&""&chr(10)&"end 'О',"&chr(13)&""&chr(10)&"CASE"&chr(13)&""&chr(10)&"when ALL_ARTC.STR_P5='text' then ''"&chr(13)&""&chr(10)&"when (SUBSTRING(SCL_ARTC.NAME_ARTIC, 1, 4)='text' or SUBSTRING(SCL_ARTC.NAME_ARTIC, 1, 4)='text') and ISNUMERIC(ALL_ARTC.S50)=1 then 'text'"&chr(13)&""&chr(10)&"when SUBSTRING(SC" _
, _
"L_ARTC.COD_ARTIC, 1, 1)='text' and SCL_ARTC.COD_ARTIC = ALL_ARTC.S50 then 'text'"&chr(13)&""&chr(10)&"when SUBSTRING(SCL_ARTC.NAME_ARTIC, 1, 4)='text' or SUBSTRING(SCL_ARTC.NAME_ARTIC, 1, 4)='text' or SUBSTRING(SCL_ARTC.NAME_ARTIC, 1, 4)='text' or SUBSTRING(SCL_ARTC.NAME_ARTIC, 1, 4)='text' then 'text'"&chr(13)&""&chr(10)&"when (SUBSTRING(SCL_ARTC.COD_ARTIC, 1, 1)='text' or SUBSTRING(SCL_ARTC.COD_ARTIC, 1, 1)='text') and CHARINDEX('text',SCL_ARTC.COD_ARTIC)>0 then 'text" _
, _
"text'"&chr(13)&""&chr(10)&"when (SUBSTRING(SCL_ARTC.COD_ARTIC, 1, 1)='text' or SUBSTRING(SCL_ARTC.COD_ARTIC, 1, 1)='text') and CHARINDEX('text',SCL_ARTC.COD_ARTIC)>0 then 'text'"&chr(13)&""&chr(10)&"when SUBSTRING(SCL_ARTC.COD_ARTIC, 1, 1)='text' then 'text'"&chr(13)&""&chr(10)&"when SUBSTRING(SCL_ARTC.COD_ARTIC, 1, 1)='text' then 'text" _
, _
"text'"&chr(13)&""&chr(10)&"when (SUBSTRING(SCL_ARTC.COD_ARTIC, 1, 1)='text' or SUBSTRING(SCL_ARTC.COD_ARTIC, 1, 1)='text') and CHARINDEX('text',SCL_ARTC.COD_ARTIC)>0 then 'text'"&chr(13)&""&chr(10)&"when (SUBSTRING(SCL_ARTC.COD_ARTIC, 1, 1)='text' or SUBSTRING(SCL_ARTC.COD_ARTIC, 1, 1)='text') and CHARINDEX('text',SCL_ARTC.COD_ARTIC)=0 then 'text'"&chr(13)&""&chr(10)&"else 'text'"&chr(13)&""&chr(10)&"end 'Пр',"&chr(13)&""&chr(10)&"CA" _
, _
"SE"&chr(13)&""&chr(10)&"when len(SCL_ARTC.DOP1_ARTIC) = 0 then ' '"&chr(13)&""&chr(10)&"else SCL_ARTC.DOP1_ARTIC"&chr(13)&""&chr(10)&"end 'Прим'"&chr(13)&""&chr(10)&"FROM SqlBase.dbo.ALL_ARTC ALL_ARTC, SqlBase.dbo.SCL_ARTC SCL_ARTC"&chr(13)&""&chr(10)&"WHERE ALL_ARTC.COD_ARTIC = SCL_ARTC.COD_ARTIC AND ((SCL_ARTC.ID_SCLAD=1) AND (SCL_ARTC.NGROUP_TVR<>'text'))"&chr(13)&""&chr(10)&"ORDER BY SCL_ARTC.NGROUP_TVR, SCL_ARTC.NGROUP_TV2, SCL_ARTC.NAME_ARTIC, SCL_ARTC.COD_ARTIC")
Компилятор выдаёт Run-time error '13': Type mismatch, при этом ошибок не вношу, пробовал уже ~5 раз, результат один и тот же. Мне наверное нужен альтернативный вариант получения текста sql запроса для vba.
Доброго дня. Как должна выглядеть строка, чтобы она работала? FileCopy C:\photos\my_photo.jpg, ftp://user:pass@ftp.my.site.ru/photos/my_photo.jpg Соответственно тут подразумевается копирование .jpg файла с локальной папки в папку ftp сервера. Компилятору не нравится вот это место: выделенный красным знак "\" сразу после "FileCopy C:".
Добрый день, покажите пожалуйста пример sql запроса из макроса для импорта данных части таблицы. Сам могу только импортировать стандартными средствами всю таблицу, но она вот вот разрастётся за 65000+ строк и полностью в книгу офиса 2003 не поместится, на более новый офис переходить не буду из-за его топорности (если вдруг интересно, то меня офис 2007+ не устраивает тем, что для смены автофильтра вместо привычных 3х кликов надо сделать от 4х до бесконечности, а для меня это одна из основных операций в екселе) Гугл честно спрашивал, находил только неработоспособные или слишком сложные для понимания варианты.
Дано: Пользователь за компьютером с windows 7, office 2003 SQL сервер в локальной сети: testserver Пароль и логин к sql подключению testuser и testpass Database на сервере: testdata Таблица в database: testtable Столбцы в testtable: column1, column2 ... column99
Покажите пожалуйста пример, как запросить column1 и column2 таблицы testtable (остальные атрибуты указаны выше), где column9=9 Дальше уж как-нибудь запросы под себя сконфигурирую, я не могу осилить синтаксис самого импорта при помощи запроса.
Доброго дня Приложен файл Что делаю: формулой описываю текст новой формулы ="=R[-"&RC[-2]&"]C[-3]", получается =R[-1]C[-3] Копирую полученный результат, вставляю как значение в новый столбец Формулу вижу, результата вычисления формулы не вижу... Чтобы увидеть результат, нужно по полученный формуле кликнуть 2 раза и нажать Enter Проблема в том, что таких формул 21000. Как бы увидеть результат вычислений вставленной формулы?
Добрый день В Excel 2003, чтобы переключиться в автофильтре между группами "Абв123" и "Ежз458" достаточно было щелкнуть на "Ежз458" В Excel 2007 же, нужно не только щелкнуть на "Ежз458", но и снять прошлое выделение "Абв123". А если между этими группами есть 100+ групп, а к тому же общее число групп 500+, то работа в новом Excel2007 превращается в сущее мучение. Гуглю-Гуглю, пока ничего никак не нагуглю :(... Подскажите пожалуйста чего нибудь умного...
Здравствуйте. Нужно: 1) Проверить существование файла 1.txt в директории c:\N 2) Если файл существует, выполнить код в M строк, если не существует, то не выполнять
Хотелось бы удалять не всё, а только отобранное Мыслей, как это делается, нет :(
PS Делаю макросы записывая нужные операции и просматривая, что там записалося, а вот с удалением фигня т.к. от книги к книге номера строк автофильтром отбираются разные и чего-то ничего путного не найти
Добрый день Не знаю, есть это в excel или нет Но мне бы такая весч сильно бы подсобила нужно что-то типа: ='A'&'B1+C1' И если B1+C1=7, то получается формула "=A7", которая в свою очередь просто выдаёт данные, записанные в A7
Доброго дня Прикрепил текстовый документ с макросом Макрос записывал путем записывания моих действий Поэтому там много мусора, а что можно удалять - не уверен - если можете и если это надо - почистите плз=)
В макросе есть растягивание формул до 20'000 строки это для того, чтобы охватить полностью растущий файл Но в итоге получаются в конце пустые строки =( Покажите плз, как в этом макросе сделать растягивание формул до конца документа, а не до 20'000 строки?
Доброго дня Надо файлы 1й папки переместить в xls любым образом (кроме вручную=) - их более 10'000 ) Можно сначала в txt а потом импортировать в xls Нашел пример в гугле - компилятору не нравится 2я снизу строка, говорит Syntax error Подскажите плз, что ему надо =)
Sub ssse() Dim bv As String Dim Name As String bv = Dir("D:\111\*.HTM") Set AA = CreateObject("Scripting.FileSystemObject") Set A2 = AA.CreateTextFile("D:\result.txt") Do While bv <> "" A2.WriteLine (bv) bv = Dir Loop A2.Close End Sub
Есть: 1) файл .xls, в столбце A которого есть артикул, а в столбце B - название файла 2) есть 11'929 файлов формата .jpg (их имена в столбце B файла .xls)
Надо переименовать файлы таким образом: Взять файл c:\test\"A1" и переименовать его в "B1" Где A1="c_1.jpg", а B1="ZUN1102" потом A2 -> B2 и так далее до 11'929й строки =)
Попробовал написать вручную это дело, компилятор ругаицо =( В общем вышла глупость (1я попытка вручную написать макрос), но примерно отображает то, что надо получить =)
Sub test() for i=1 to 11929 do My.Computer.FileSystem.RenameFile(Ai, Bi) End Sub
Надо сделать из txt файла красивую таблицу прайс 1) Жму: Сервис -> Макрос -> Начать запись... 2) Импортирую данные, пишу много умных формул, чтобы текст выглядел красиво, разукрашиваю прайс 3) Останавливаю запись, закрываю excel, сохраняю макрос 4) Открываю excel, запускаю макрос, а он мне: Compile error: Procedure too large
Какие тут могут быть советы? (Ниже описано как много действий надо сделать, но всеже - хоть чтонибудь подскажите)
PS Немного о обрабатываемом файле: 1) Импортируется ~12000 строк, 17 столбцов 2) Убирается около половины столбцов 3) Теперь надо убрать товар, у которого в одной из строк написано ZPAM (около 1000 нижних позиций) 4) Справа от этой таблицы создаются формулы типа: =если(A2="ZPAM";"";если(A2"";"";A2)) - таким макаром создаю новую таблицу, но без ненужного товара, растягиваю эти формулы до 15000 строки (на будущее - прайс потихоньку растет) 5) Новая таблица копируется и вставляется сама на себя специальной вставкой - чтобы вставились только значения, старая таблица удаляется 6) производится изменение шрифта, заливки, ширины столбцов, закрепление области (шапки), дописывание контактной информации 7) если нужен этот макрос, то если объясните, как залить его сюда, то залью