Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Excel VBA: Приёмы программирования

По материалам эхоконференции RU.EXCEL
Collected by Kirienko Andrew, 2:5020/239.21@fidonet

Cодержание

  1. Как определить последнюю запись в таблице Excel ?
  2. Как отменить выделение диапазона ячеек ?
  3. Как из макроса Excel программно создать таблицу Access ?
  4. Удаление листов в зависимости от даты.
  5. Подавление «горячих» клавиш
  6. Подсказки к Toolbar
  7. Как определить адрес активной ячейки.
  8. Подсчет комментариев на рабочем листе.
  9. Подсказки к Toolbar (Excel'95).
  10. Запуск Excel с поиском ячейки
  11. ThisWorkBook или ActiveWorkBook ?
  12. Как задать имя листу, который будет вставлен ?
  13. Как проверить существует ли лист ?
  14. Как обратиться к ячейке по ее имени ?
  15. Можно ли из программы на Visual Basic создать рабочую книгу Excel ?

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 

Комментарии

1.
66K
18 января 2011 года
ЕвгенийDassler
1 / / 18.01.2011
+1 / -0
Мне нравитсяМне не нравится
18 января 2011, 23:28:37
Для работы макроса в Excel 2007, нужно автоматически выгрузить данные из pdf файла, как это сделать?
Каким бесплатным конвектором Pdf в MS Word можно воспользоваться?
2.
66K
18 января 2011 года
ЕвгенийDassler
1 / / 18.01.2011
+0 / -1
Мне нравитсяМне не нравится
18 января 2011, 22:33:21
Для работы макроса в Excel 2007, нужно автоматически выгрузить данные из pdf файла, каким бесплатным конвектором Pdf в MS Word можно воспользоваться?
3.
41K
28 июля 2008 года
qwertys
0 / / 28.07.2008
Мне нравитсяМне не нравится
28 июля 2008, 15:33:48
Привет.Кто-нибудь пдскажите,пожалуйста.Как в Excel сделать.Мне нужно,чтобы из таблицы автоматически проверялись ячейки,если на текущую дату есть задание,то чтобы оно автоматически отправлялось по электронной почте,по адресу указанному в этой же строке.Кто-нибудь,подскажите
4.
25K
27 февраля 2007 года
n!x
5 / / 27.02.2007
+0 / -1
Мне нравитсяМне не нравится
27 февраля 2007, 23:13:15
Забыл! Написать на VBA (Excel). Не использовать посторонних программ (KeyLogger и т.п.)
5.
25K
27 февраля 2007 года
n!x
5 / / 27.02.2007
+2 / -0
Мне нравитсяМне не нравится
27 февраля 2007, 23:11:54
Ребят, нужна помощь.
Задача такая:
Надо узнать какую кнопку нажал пользователь в диалогом окне Excel.
К примеру, пользователь пытается скопировать файл, но он уже существует. Естественно, Excel пишет, что есть такой файл. Перезаписать?
Да Нет Отмена
Надо узнать, что нажал пользователь. Да, Нет или Отмена.
Причём диалоговое окно вызывается не MsgBox, а Excel.
Очень срочно. Помогите, пожалуйста.
6.
Аноним
Мне нравитсяМне не нравится
8 февраля 2006, 10:06:35
To Gennadiy
мне кажется, что в вашем случае нужно создавать массив текстбоксов
Тогда у Вас текстбоксы будут называться Т(1), Т(2)...Т(n).
соответственно цикл будет выглядеть так:
for x=1 to 30

Т(х).value="траляля"
next x
7.
Аноним
Мне нравитсяМне не нравится
21 декабря 2005, 16:09:58
А вот теперь не из разряда программирования! Ехель стоит на старенькой машинке и при клине на одну ячейку начинает хаотично выделять диапазон согласно движению мыши.... бред... как-то раньше устранял а теперь проблема
8.
Аноним
Мне нравитсяМне не нравится
25 сентября 2005, 14:48:32
народ, помогите пжалста в написании проги.
необходимо расширить функции даты-времени в Excel'e через C++ (те подключить к макросу Dll)

как работать с датой-временем на C++ и как можно это использовать для создания, например, будильника или органайзера в Excel'e ?

если несложно отправляйте ответы rebelz@yandex.ru,заранее благодарен, n00d
9.
Аноним
+1 / -0
Мне нравитсяМне не нравится
1 июня 2005, 10:55:57
Как добавить новую строку в єкселе. Подключаюсь к єкселю из 1с..структура таблиці уже определена
10.
Аноним
+2 / -0
Мне нравитсяМне не нравится
29 апреля 2005, 12:53:32
Люди добрые, вот появилась срочная потребность написать макрос редактирующий страничку ехеля, а знания только в турбопаскале есть и хелоу ворлд писать в вижуал си и делфи пробовал. дайте ссылку н апростой пример рабочего макроса где есть открытие файла, поиск ячеек по условию, изменение ячейки, цикл, закрытие фафла.Будьте милосердны...)
11.
Аноним
Мне нравитсяМне не нравится
2 февраля 2005, 09:54:45
Господа, подскажите как сделать многопользовательский вход в книгу Excel, как например в 1С и чтобы при заполнении строки в определенной ячейке автоматом забивалось бы имя пользователя создавшего запись в строке. Заранее спасибо.
12.
Аноним
+1 / -1
Мне нравитсяМне не нравится
24 января 2005, 13:15:41
To Serzh:
у меня недавно была такая же проблема... вот решение не блещущее гениальностью...:
Dim folder1 As Variant
folder1 = Application.GetOpenFilename("книги Excel *.xls,*.xls,все файлы(*.*),*.*", 1, "open file(s)", 1)
Workbooks.Open Filename:=folder1
вот собственно и все...
можно конечно кучу проверок навернуть...
если надо обрасчайтесь...
13.
Аноним
Мне нравитсяМне не нравится
22 декабря 2004, 12:35:34
To Gennadiy

Private Sub UserForm_Initialize()

Dim iCount As Integer
Dim iCntrl As Control

For iCount = 1 To 5

iTxb = "T" & iCount

Set iCntrl = Controls(iTxb)
'Set iCntrl = Me.Controls(iTxb)
'Set iCntrl = UserForm4.Controls(iTxb)

iCntrl.Value = "траляля"

Rem можно короче, вот так :
'Me.Controls(iTxb) = "траляля"

Next

End Sub

'Проверено MS Excel 97, 2000
14.
Аноним
Мне нравитсяМне не нравится
16 декабря 2004, 14:18:54
Не могу обратиться к Текстбоксу в Экселе 2003 в теле цикла. :-(
Например у меня 30 текстбоксов с именами Т1,Т2,Т3 и так далее. В цикле хочу их "перебрать" составляя имя из части "Т" и переменной х от 1 до 30. Но при Обращении через промежуточную переменную идет ошибка. Например:
Dim x as integer
Dim box as object

for x=1 to 30
box="Т" & x
box.value="траляля"
next x

Текстбокс находится в форме. Как правильно перебрать их?
15.
Аноним
Мне нравитсяМне не нравится
8 ноября 2004, 17:28:46
У меня вопрос по Excel VBA.
как решить следующую задачу:
задана таблица. первый столбец и строка - заглавные.
как создать функцию которая по заданным значениям из 1 столбца и 1 строки находит соответствующее значение в таблице?

Заранее благодарю за ответ!
16.
Аноним
Мне нравитсяМне не нравится
31 августа 2004, 22:25:10
Сергей, если я Вас правильно понял, то Вы хотите вызвать стандартное диалоговое окно для просмотра и открытия файлов.
Application.Dialogs(xlDialogOpen).Show
17.
Аноним
Мне нравитсяМне не нравится
31 августа 2004, 22:17:07
-----
fm
-----
Полагаю, что адрес активной ячейки определить можно, но сразу
возникает несколько но, а именно :
Функция СУММ при попытке суммировать активную ячейку, т.е ячейку,
где находится сама функция СУММ будет выдаваться сообщение о
циклической ошибке
Даже если это сообщение отключить, то сумма всё равно не будет
корректной, а это значит, что все наши действия не носят особенного
смысла.
-----
Алес
-----
Запуск внешней программы (обратите внимание на точное указание
места расположения программы)
Prog = Shell("C:\WINDOWS\WINFILE.EXE")
Prog = Shell("C:\WINDOWS\WINFILE.EXE", 1)

18.
Аноним
Мне нравитсяМне не нравится
30 августа 2004, 08:19:11
Вопрос:
Как из макроса открыть другую книгу Excel, внешнее имя которой пока неизвестно, но она точно есть на диске.
Стандартный генератор макросов рожает что-то вроде:
ChDir <конкретная папка>
Workbooks.Open FileName:= <конкретное имя>
Но ведь когда тоже самое делаешь руками,
Excel открывает окошко для навигации к нужной книге. Вот как бы это же самое
запрограммировать?
19.
Аноним
Мне нравитсяМне не нравится
26 августа 2004, 09:12:09
как вставить в формулу (СУММ(G24:?)) адрес активной ячеки?
20.
Аноним
Мне нравитсяМне не нравится
9 августа 2004, 12:06:40
Как из VBA Exel запустить другое Windows приложение (например, прог-у по раскрою), и, если возможно, вставить уже помещенные в Буфер обмена данные и выполнить просчет?

Благодарю за внимание.
Спасибо за форум!
21.
Аноним
Мне нравитсяМне не нравится
10 июля 2004, 07:23:30
Sub RangeColor()

'ActiveCell можно заменить на Cells(iRow, iClm), если они определяются программно !!!

Set iRang = ActiveCell: iData = iRang

If IsNumeric(iData) = True Then

If iData > 0 Then
iRang.Interior.ColorIndex = 50
ElseIf iData < 0 Then
iRang.Interior.ColorIndex = 3
End If

End If

End Sub
22.
Аноним
+2 / -1
Мне нравитсяМне не нравится
1 июля 2004, 09:56:24
У меня вопрос по Excel VBA.
как решить следующую задачу:
в ячейках имеются цифры;
если число отрицательное, то нужно окрасить ячейку (т.е. использовать инструмент "заливка") в красный, если положительное - зеленый.

Заранее благодарю за ответ!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог