Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.02.2009, 13:16   #1
Romuald
Форумчанин
 
Регистрация: 12.11.2007
Сообщений: 209
По умолчанию Отредактировать макрос

Добрый день!
Помогите, пожалуйста, отредактировать макрос переноса данних, если данные у меня в колонках J и K (выделил желтым) , а не в А и В
Вложения
Тип файла: rar Perenos dannih.rar (10.7 Кб, 17 просмотров)
Romuald вне форума Ответить с цитированием
Старый 11.02.2009, 14:46   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Код:
Sub PerenosDannih()
    Dim i As Long, j As Long, x As Range
    Application.ScreenUpdating = False
    Sheets("Sheet1").Activate
    For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
        Set x = Sheets("Sheet2").Columns(10).Find(What:=Cells(i, 1).Value, LookAt:=xlWhole)
        If Not x Is Nothing Then Cells(i, 2) = x.Next
    Next i
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 11.02.2009, 16:01   #3
Romuald
Форумчанин
 
Регистрация: 12.11.2007
Сообщений: 209
По умолчанию

Спасибо большое!
Еще один вопрос по этому макросу
При запуске Макрос обновляет данные. А как сделать , если данные в колонке В не обновлять, а дописывать там,где их нет , а если вручную поставил или изменил , то макрос не тронул данные ,а заполнил только пустые ячейки?
Romuald вне форума Ответить с цитированием
Старый 11.02.2009, 16:13   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Код:
Sub ОбновлениеДанных()
    Dim i As Long, j As Long, x As Range
    Application.ScreenUpdating = False
    Sheets("Sheet1").Activate
    For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
        Set x = Sheets("Sheet2").Columns(10).Find(What:=Cells(i, 1).Value, LookAt:=xlWhole)
        If Not x Is Nothing Then Cells(i, 2) = x.Next
    Next i
End Sub
Цитата:
А как сделать , если данные в колонке В не обновлять, а дописывать там,где их нет , а если вручную поставил или изменил , то макрос не тронул данные ,а заполнил только пустые ячейки?
Код:
Sub ДобавлениеДанных()
    Dim i As Long, j As Long, x As Range
    Application.ScreenUpdating = False
    Sheets("Sheet1").Activate
    For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
        If Trim$(Cells(i, 2).Value) = "" Then ' если во втором столбце пусто'
            Set x = Sheets("Sheet2").Columns(10).Find(What:=Cells(i, 1).Value, LookAt:=xlWhole)
            If Not x Is Nothing Then Cells(i, 2) = x.Next
        End If
    Next i
End Sub
EducatedFool вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отредактировать Id3Tag vitalik007 Мультимедиа в Delphi 2 22.02.2008 16:26
как отредактировать формулу чтобы не вывел #Н/Д rich02 Microsoft Office Excel 6 04.01.2008 14:35
помогите отредактировать прогу finch Помощь студентам 3 25.06.2007 07:42
Не могу понять как отредактировать программу asale Microsoft Office Excel 1 31.01.2007 20:57