Автофильтр в новых excel (2007+) как в 2003, Смена значения в фильтре в два клика как раньше, а не в три как теперь
Пользователь
Сообщений: Регистрация: 01.01.1970
02.02.2023 13:02:28
Добрый день. Стараюсь не пользоваться новыми Excel'ями (2007+) только по одной причине (на самом деле причины две, вторая - ужасные веладки навигации в верхней части Excel, старые (2003) Менюшеи были несравненно удобнее тем, что всё сразу было под рукой, без веладок, но этот момент я пропущу, он не так разлражает и мешает...) : мне необходимо часто менять значение фильтрации в таблице. В 2003 было достаточно сделать 2 клика: фильтр -> новое значение фильтрации - всё: старое значение фильтрации убиралось, новое устанавливалось. Таких операций во время трёхчасовой операции с одной книгой может быть более двухсот. В новых же Excel'ях помимо установки старого значения надо снять старое значение. И хорошо, если они рядом. А если они совсем не рядом и перед установкой нового значения фильтрации забываешь снять старую фильтрацию, то нужно снова лезть в настройки фильтрации и искать и снимать старое значение фильтра среди 2000+ вариантов фильтрации. Даже без учета возможного забывания снятия старого значения - всё равно очень утомляет лишний клик при элементарной операции смены значения фильтрации.
Очень интересует такой момент: возможно ли в новых Excel'ях сделать фильтр как в 2003? Что бы опять менять значение фильтрации в два клика?
ms query выводит результат sql запроса, но не может передать его в excel, создание временной таблицы через query и получение данных из этой таблицы
Пользователь
Сообщений: Регистрация: 01.01.1970
09.03.2019 21:40:28
Здравствуйте. Имеется 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 секунд). Через временную таблицу всё получается красиво, а вот без неё придётся строить костыли макросами. Что посоветуете?
Нет пункта меню Project -> Components (ms excel 2003 -> vba 6.5), Совсем нету, а очень нужен
Пользователь
Сообщений: Регистрация: 01.01.1970
08.11.2017 14:45:43
Доброго дня. Столкнулся с надобностью работы с компонентами VBA - очень нужен модуль работы со штрих-кодами. У меня - MS Excel 2003, VBA 6.5 Нужно.png - то меню, что мне нужно Нету.png - так выглядит моё меню
Беда - в моём VBA нет кнопки меню Project А очень нужен модуль работы со штрих-кодами. показан пример работы со штрих кодами в VBA 6.0 У меня VBA 6.5, запускается из ms Excel 2003 и я застопорился просто на том, что у меня нет этой кнопки Project. Как её добавить?
ПОИСКПОЗ и численные значения, ПОИСКПОЗ ищет, где есть 777А, но не ищет, где есть 777
Пользователь
Сообщений: Регистрация: 01.01.1970
25.08.2017 13:44:27
Доброго дня. В примере среди артикулов есть значения, состоящие только из цифр и состоящие из цифр и букв. Никак не могу заставить искать функцию ПОИСКПОЗ все значения, в т.ч. цифровые. В интернетах этих ваших нашел фокус с прикреплением ""& к поисковому запросу. Что-то не выходит. Что я делаю не так? Excel 2003 SP3.
Workbooks(sName).Close закрывает текущую книгу, но открывает Книга4.xls, Не могу закрыть книгу с автозапускаемым макросом так, чтобы не появилось новой книги
Пользователь
Сообщений: Регистрация: 01.01.1970
22.02.2017 13:34:21
Добрый день. Excel 2003.
Что хочу: Создавать 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
Закрытие всех открытых макросом книг после окончания работы макроса, После работы макроса остаётся открытая новая книга
Пользователь
Сообщений: Регистрация: 01.01.1970
06.02.2017 17:31:32
Добрый вечер. 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 открытый файл. Мыслей нет, что с этим делать. Подскажите пожалуйста.
Поиск в столбце последнего совпадения со значением заданной ячейки
Пользователь
Сообщений: Регистрация: 01.01.1970
07.12.2016 13:47:06
Добрый день. У меня excel 2003. В примере в столбце A:A бывают значения: 1, 2, -. Я пытаюсь найти последнюю строку столбца A:A, значение ячейки которой совпадает со значением в ячейке A2. По какой-то причине формула <<[ =ПОИСКПОЗ(A2;A:A;1) ]>> выдаёт значение 100, хотя по моему разумению она должна выдать значение 48. При этом при всём значения ячеек A2 и A100 не совпадают! Прикрепляю красивый и понятный пример. Помогите, пожалуйста, найти при помощи формулы, а не макроса, последнюю строку столбца A:A, значение ячейки которой совпадало бы с значением в A2.
Изменено: - 07.12.2016 13:55:43
Использование диапазона Range с использованием переменной, ActiveChart.SetSourceData Source:=Sheets("t1").Range(Cells(stroka, 1), Cells(stroka, 5)), PlotBy:=xlRows - даёт ошибку 1004
Пользователь
Сообщений: Регистрация: 01.01.1970
05.07.2016 14:22:01
Доброго дня. Хочу менять диапазон ячеек для исходных данных диаграммы при помощи макроса: всё работает, лишь печалит то, что не могу указывать диапазон переменной. Сейчас это работает так:
Код
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 строчек, все строки прокомментировал.
Соответственно вопрос лишь в том, как выделять диапазон в данном случае при помощи переменных. Дополнительный вопрос, если можно, как заставить макрос реагировать на нажатия пользователем кнопок клавиатуры (например вверх и вниз)?
Изменено: - 05.07.2016 14:34:19
Интерактивность макроса, Запрос номера столбца у пользователя
Пользователь
Сообщений: Регистрация: 01.01.1970
18.12.2015 12:08:56
Добрый день, хочу пополнить свои знания о VBA вот чем: Возможно ли пользователя попросить выделить столбец мышкой и продолжить работу макроса с тем, что указалю пользователь? т.е. макрос считает ответ, а потом просит пользователя тыкнуть мышкой, куда этот ответ вставить. Бывает такое в vba у excel 2003? Можно конечно через ввод с клавиатуры сделать, но хочется при помощи мышки. Такое возможно?
Ширина и высота страницы для печати
Пользователь
Сообщений: Регистрация: 01.01.1970
03.09.2015 17:57:39
Доброго вечера. (Win 7, Office 2003) После нажатия кнопки "предварительный просмотр" и последующего закрытия открывшегося окна, можно видеть пунктирную границу листа, т.е. видеть то, что фактически будет распечатано на принтере - какой столбец/строка помещаются на первом листе, а какие - нет... Как можно найти ширину/высоту доступного для печати листа? Очень хочу понять, где будет конец листа и "разделить" после этого таблицу, как это делается в бухгалтерских документах - с добавлением промежуточных постраничных результатов. Но не могу найти/сформулировать необходимого запроса для поисковика, всё выдаётся не то, что я имею в виду... Метод подбора не подходит - сейчас я выяснил, что мне доступно 1028 пикселей в ширину, но на другом компьютере оказалось, нужно ограничиться меньшим числом пикселей.
Скачивание файла в Visual Basic, XMLHTTP.Open "GET" скачивает файл из кеша, а не из интернета
Пользователь
Сообщений: Регистрация: 01.01.1970
08.04.2015 12:38:08
Доброго дня. Обнаружил, что мой скрипт работает с файлом несколько месячной давности, хотя, по идее, должен работать всегда с актуальным файлом. Дата файла в кеше компьютера совпадает с датой файла, с которой работает скрипт. т.е. файл был скачан компьютером с себя же Подскажите пожалуйста, как скачивать файл игнорируя кеш?
Информация о системе: 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
Изменено: - 08.04.2015 12:53:49
Слишком длинный запрос к sql из vba при помощи query, код sql работает, код vba не работает
Пользователь
Сообщений: Регистрация: 01.01.1970
17.11.2014 11:26:52
Добрый день Хочу сделать макрос, записываю свои действия, но для записи 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 относительно ftp папки, Filecopy в ftp папку
Пользователь
Сообщений: Регистрация: 01.01.1970
24.10.2014 15:07:11
Доброго дня. Как должна выглядеть строка, чтобы она работала? FileCopy C:\photos\my_photo.jpg, Соответственно тут подразумевается копирование .jpg файла с локальной папки в папку ftp сервера. Компилятору не нравится вот это место: выделенный красным знак "\" сразу после "FileCopy C:".
Импорт части таблицы с sql сервера, Пример простого sql запроса на sql сервер в локальной сети
Пользователь
Сообщений: Регистрация: 01.01.1970
22.10.2014 12:04:04
Добрый день, покажите пожалуйста пример 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 Дальше уж как-нибудь запросы под себя сконфигурирую, я не могу осилить синтаксис самого импорта при помощи запроса.
Строка формулы при вставке не показывает результат
Пользователь
Сообщений: Регистрация: 01.01.1970
18.10.2012 16:04:30
Доброго дня Приложен файл Что делаю: формулой описываю текст новой формулы ="=R[-"&RC[-2]&"]C[-3]", получается =R[-1]C[-3] Копирую полученный результат, вставляю как значение в новый столбец Формулу вижу, результата вычисления формулы не вижу... Чтобы увидеть результат, нужно по полученный формуле кликнуть 2 раза и нажать Enter Проблема в том, что таких формул 21000. Как бы увидеть результат вычислений вставленной формулы?
Автофильтр в Excel2007 по подобию автофильтра Excel2003
Пользователь
Сообщений: Регистрация: 01.01.1970
02.10.2012 13:40:26
Добрый день В Excel 2003, чтобы переключиться в автофильтре между группами "Абв123" и "Ежз458" достаточно было щелкнуть на "Ежз458" В Excel 2007 же, нужно не только щелкнуть на "Ежз458", но и снять прошлое выделение "Абв123". А если между этими группами есть 100+ групп, а к тому же общее число групп 500+, то работа в новом Excel2007 превращается в сущее мучение. Гуглю-Гуглю, пока ничего никак не нагуглю :(... Подскажите пожалуйста чего нибудь умного...
visual basic. Выполнить блок в 30 строк при условии нахождения файла
Пользователь
Сообщений: Регистрация: 01.01.1970
17.07.2012 11:13:54
Здравствуйте. Нужно: 1) Проверить существование файла 1.txt в директории c:\N 2) Если файл существует, выполнить код в M строк, если не существует, то не выполнять
Макрос. Удалить ячейки отобранные автофильтром
Пользователь
Сообщений: Регистрация: 01.01.1970
14.06.2012 15:11:52
Добрый день. Нужно удалить строки, которые предварительно были выбраны автофильтром
Хотелось бы удалять не всё, а только отобранное Мыслей, как это делается, нет :(
PS Делаю макросы записывая нужные операции и просматривая, что там записалося, а вот с удалением фигня т.к. от книги к книге номера строк автофильтром отбираются разные и чего-то ничего путного не найти
Ссылка на номер ячейки, рассчитанный по формуле
Пользователь
Сообщений: Регистрация: 01.01.1970
13.06.2012 14:14:07
Добрый день Не знаю, есть это в excel или нет Но мне бы такая весч сильно бы подсобила нужно что-то типа: ='A'&'B1+C1' И если B1+C1=7, то получается формула "=A7", которая в свою очередь просто выдаёт данные, записанные в A7
Поможите оптимизировать макрос (растягивание формул до конца документа)
Пользователь
Сообщений: Регистрация: 01.01.1970
26.11.2009 09:50:40
Доброго дня Прикрепил текстовый документ с макросом Макрос записывал путем записывания моих действий Поэтому там много мусора, а что можно удалять - не уверен - если можете и если это надо - почистите плз=)
В макросе есть растягивание формул до 20'000 строки это для того, чтобы охватить полностью растущий файл Но в итоге получаются в конце пустые строки =( Покажите плз, как в этом макросе сделать растягивание формул до конца документа, а не до 20'000 строки?
Записать названия всех файлов папки в файл (нашел пример но он не работает=(
Пользователь
Сообщений: Регистрация: 01.01.1970
03.11.2009 13:58:22
Доброго дня Надо файлы 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
Переименовка 11'000 файлов при помощи екселя
Пользователь
Сообщений: Регистрация: 01.01.1970
27.10.2009 16:33:48
Доброго времени суток
Есть: 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
Очень длинный макрос надо сделать: Compile error: Procedure too large
Пользователь
Сообщений: Регистрация: 01.01.1970
24.09.2009 17:32:32
Добрый день
Надо сделать из 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) если нужен этот макрос, то если объясните, как залить его сюда, то залью