|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - *VBA* | Помогите написать макросы для Excel'я |
|
|
VBA - *VBA* | Помогите написать макросы для Excel'я
|
|
ove
Сообщения: n/a |
Пользователю предлагается заполнять определенные ячейки (прямоугольная область) на листе. Данные вводятся по строкам. Подскажите, как сделать, чтобы после заполнения последней ячейки в строке курсор перемещался не вправо, а в нужную ячейку на следующей строке.
[s]Исправлено: ove, 22:51 12-02-2003[/s] |
|
|
Отправлено: 22:49, 12-02-2003 |
|
Старожил Сообщения: 369
|
Профиль | Отправить PM | Цитировать Я тоже его поробовал раскопировать. В конце получил вопрос - В буфере имеется большой список данных - сохранить его? Это при одном единственном столбце в Листе1. А если столбцов будет к примеру - 32 с разными данными? Попробуйте поэкспериментировать - Незабуксует программа?
Можно попробовать ещё вот так: |
|
Последний раз редактировалось azbest, 21-11-2008 в 21:42. Отправлено: 17:40, 20-11-2008 | #31 |
|
Технолог Сообщения: 819
|
Профиль | Отправить PM | Цитировать Цитата Admiral:
|
|
|
Отправлено: 23:12, 20-11-2008 | #32 |
|
Ветеран Сообщения: 3320
|
Профиль | Отправить PM | Цитировать Pliomera, да конечно, но то наочние для новичков, которые ещё не знают про Chr$, а про массивы уже знают.
|
|
Отправлено: 23:49, 20-11-2008 | #33 |
|
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Доброго времени суток всем присутствующим.
Кто-нибудь может помочь с такой проблемкой: Есть две книги file1 и file2, каждая с двумя столбцами, первый из которых это идентификатор, второй - значения; вобщем надо значения из первой книги переместить во вторую (при совпадении ячеек из первого столбца). Я использовал следующий макрос, но работает он крайне медлено при большом количестве строк(понятно, при прямом переборе то). Вообщем, как можно более эффективно и быстрее это сделать? i = 1
While Workbooks(file2).Worksheets("List").Cells(i, 1).Value <> ""
current = Workbooks(file2).Worksheets("List").Cells(i, 1).Value
j = 1
flag = False
Do While Workbooks(file1).Worksheets("List").Cells(j, 1).Value <> ""
If Workbooks(file1).Worksheets("List").Cells(j, 1).Value = current Then
flag = True
Exit Do
End If
j = j + 1
Loop
If flag = True Then
Workbooks(file2).Worksheets("List").Cells(i, 2).Value = Workbooks(file1).Worksheets("List").Cells(j, 2).Value
Workbooks(file2).Worksheets("List").Cells(i, 2).Interior.Color = RGB(0, 255, 0)
End If
i = i + 1
Wend
|
|
Последний раз редактировалось Aizec, 23-11-2008 в 16:47. Отправлено: 14:48, 23-11-2008 | #34 |
|
Старожил Сообщения: 222
|
Профиль | Отправить PM | Цитировать Aizec, ВПР?
|
|
------- Отправлено: 14:53, 23-11-2008 | #35 |
|
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Цитата Strange_V:
|
|
|
Отправлено: 15:23, 23-11-2008 | #36 |
|
Старожил Сообщения: 222
|
Профиль | Отправить PM | Цитировать ВПР - это функция, точно не помню работает ли она с разными книгами, но думаю да.
|
|
------- Отправлено: 15:37, 23-11-2008 | #37 |
|
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Strange_V Спасибо, но это не подходит - я ведь не знаю содержимого ячеек.
|
|
Отправлено: 16:33, 23-11-2008 | #38 |
|
Старожил Сообщения: 369
|
Профиль | Отправить PM | Цитировать Если Вы не знаете содержимое ячеек, значит Вы не можете знать сколько раз может совпасть идентификатор из первого файла с перебираемыми идентификаторами во втором файле (если только идентификатор - это не числа по порядку). А у вас как только они совпадают (i,1).value = (j,1).value - происхлдит выход из цикла переборки и берётся следующий идентификатор из первого файла (i,1).
Кроме того у вас каждый раз при "exit Do" - рушится цикл переборки хотя текущий его счётчик "j" запоминается и далее уже при i = i+1 - снова создается новый Do ...Loop c запомненным "j", плюс ещё каждый раз происходит сравнение с "непустым" значением - проверка на конец списка. Попробуйте вот так: S1=Workbooks(file2).Worksheets("List").Cells(1, 1).currentregion.rows.count
S2=Workbooks(file1).Worksheets("List").Cells(1, 1).currentregion.rows.count
for x=1 to S1
idn1=Workbooks(file1).Worksheets("List").Cells(x, 1).value
for y=1 to S2
idn2=Workbooks(file2).Worksheets("List").Cells(y, 1).
if idn1=idn2 then
zn1=Workbooks(file1).Worksheets("List").Cells(x, 2).value
Workbooks(file2).Worksheets("List").Cells(y, 2).value=zn1
Workbooks(file2).Worksheets("List").Cells(i, 2).Interior.Color = RGB(0, 255, 0
end if
next y
next x
|
|
Отправлено: 21:33, 23-11-2008 | #39 |
|
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать azbest Спасибо.
И у меня еще один вопрос возник: как импортировать в Excel не весь текстовый файл, а только текст заключенный в кавычки ""? Потом его еще надо будет после перевода обратно вставить. |
|
Последний раз редактировалось Aizec, 28-11-2008 в 18:44. Отправлено: 15:28, 24-11-2008 | #40 |
|
|
Участник сейчас на форуме |
|
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
| Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
| VBA - Помогите пожалуйста написать скрипт на VBA | Большой Кол | Программирование и базы данных | 6 | 22-10-2009 22:49 | |
| VBA - VBA excel метод Холецкого | romcd73 | Программирование и базы данных | 2 | 19-06-2009 10:03 | |
| VBA - помогите решить задачку Vba + Excel | hellp123 | Программирование и базы данных | 3 | 14-03-2009 01:15 | |
| MsOffice | Макросы Excel, база данных | sitaka | Программирование и базы данных | 2 | 08-09-2006 20:13 | |
| [решено] Отключить макросы на Excel и Worde через групповой политику | dosim | Microsoft Windows NT/2000/2003 | 8 | 07-08-2006 17:11 | |
|