Скрипт, который меняет значение ячейки на другое
Homamilae
Дата: Пятница, 04.10.2013, 10:07 |
Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
Подскажите пожалуйста, у меня есть файл. на листе 1 есть список элементов в столбце B, на листе 2 в столбце B тот же список и в столбце С краткие наименования этих элементов. Мне необходимо создать скрипт, который просматривает столбец B в листе 1 файла Excel, ищет соответствие в столбце B листа 2 и заменяет это значение в листе 1 на соответствующее из столбца С листа 2. Я впервые работаю с VBA. Что мне необходимо сделать? Спасибо большое за любую помощь!
Подскажите пожалуйста, у меня есть файл. на листе 1 есть список элементов в столбце B, на листе 2 в столбце B тот же список и в столбце С краткие наименования этих элементов. Мне необходимо создать скрипт, который просматривает столбец B в листе 1 файла Excel, ищет соответствие в столбце B листа 2 и заменяет это значение в листе 1 на соответствующее из столбца С листа 2. Я впервые работаю с VBA. Что мне необходимо сделать? Спасибо большое за любую помощь! Homamilae
Ответить
Сообщение Подскажите пожалуйста, у меня есть файл. на листе 1 есть список элементов в столбце B, на листе 2 в столбце B тот же список и в столбце С краткие наименования этих элементов. Мне необходимо создать скрипт, который просматривает столбец B в листе 1 файла Excel, ищет соответствие в столбце B листа 2 и заменяет это значение в листе 1 на соответствующее из столбца С листа 2. Я впервые работаю с VBA. Что мне необходимо сделать? Спасибо большое за любую помощь! Автор - Homamilae Дата добавления - 04.10.2013 в 10:07
Hugo
Дата: Пятница, 04.10.2013, 10:26 |
Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3703
Репутация:
792
±
Замечаний:
0% ±
365
Именно скрипт нужен? Вручную "закопипастить" результат, полученный ВПР() не годится? Я бы делал вручную...
Именно скрипт нужен? Вручную "закопипастить" результат, полученный ВПР() не годится? Я бы делал вручную... Hugo
webmoney: E265281470651 Z422237915069 USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
Ответить
Сообщение Именно скрипт нужен? Вручную "закопипастить" результат, полученный ВПР() не годится? Я бы делал вручную... Автор - Hugo Дата добавления - 04.10.2013 в 10:26
Homamilae
Дата: Пятница, 04.10.2013, 10:41 |
Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
Hugo, именно скрипт нужен... к сожалению. Прикрепляю файл, там только две позиции, а на самом деле около 100000
Hugo, именно скрипт нужен... к сожалению. Прикрепляю файл, там только две позиции, а на самом деле около 100000 Homamilae
К сообщению приложен файл:
123.xlsx
(11.1 Kb)
Ответить
Сообщение Hugo, именно скрипт нужен... к сожалению. Прикрепляю файл, там только две позиции, а на самом деле около 100000 Автор - Homamilae Дата добавления - 04.10.2013 в 10:41
Homamilae
Дата: Пятница, 04.10.2013, 13:18 |
Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
Начала писать скрипт, есть вопросы: [vba]Код
Dim j As Integer Dim i As Integer For i = 1 To "конец строк" For j = 1 To "конец строк" If "условие, которое сравнивает Лист1.Cells(i, 1).Value = Лист2.Cells(j, 1).Value" Лист1.Cells(i, 1).Value = Лист2.Cells(j, 1+1).Value End If Next j Next i
[/vba] Не могу разобраться как правильно записать "конец строк" и "условие, которое сравнивает Лист1.Cells(i, 1).Value = Лист2.Cells(j, 1).Value"
Начала писать скрипт, есть вопросы: [vba]Код
Dim j As Integer Dim i As Integer For i = 1 To "конец строк" For j = 1 To "конец строк" If "условие, которое сравнивает Лист1.Cells(i, 1).Value = Лист2.Cells(j, 1).Value" Лист1.Cells(i, 1).Value = Лист2.Cells(j, 1+1).Value End If Next j Next i
[/vba] Не могу разобраться как правильно записать "конец строк" и "условие, которое сравнивает Лист1.Cells(i, 1).Value = Лист2.Cells(j, 1).Value" Homamilae
Сообщение отредактировал Homamilae - Пятница, 04.10.2013, 13:21
Ответить
Сообщение Начала писать скрипт, есть вопросы: [vba]Код
Dim j As Integer Dim i As Integer For i = 1 To "конец строк" For j = 1 To "конец строк" If "условие, которое сравнивает Лист1.Cells(i, 1).Value = Лист2.Cells(j, 1).Value" Лист1.Cells(i, 1).Value = Лист2.Cells(j, 1+1).Value End If Next j Next i
[/vba] Не могу разобраться как правильно записать "конец строк" и "условие, которое сравнивает Лист1.Cells(i, 1).Value = Лист2.Cells(j, 1).Value" Автор - Homamilae Дата добавления - 04.10.2013 в 13:18
RAN
Дата: Пятница, 04.10.2013, 13:36 |
Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
По первому запрос для поиска последняя заполненная по второму [vba]Код
If Лист1.Cells(i, 1).Value = Лист2.Cells(j, 1).Value Then
[/vba] PS этот вариант будет использовать кодовое имя листа. Если нужно с имя, которое написано на ярлычке, то [vba]Код
If Sheets("Лист1").Cells(i, 1).Value = Sheets("Лист2").Cells(j, 1).Value Then
[/vba]
По первому запрос для поиска последняя заполненная по второму [vba]Код
If Лист1.Cells(i, 1).Value = Лист2.Cells(j, 1).Value Then
[/vba] PS этот вариант будет использовать кодовое имя листа. Если нужно с имя, которое написано на ярлычке, то [vba]Код
If Sheets("Лист1").Cells(i, 1).Value = Sheets("Лист2").Cells(j, 1).Value Then
[/vba] RAN
Быть или не быть, вот в чем загвоздка!
Сообщение отредактировал RAN - Пятница, 04.10.2013, 13:56
Ответить
Сообщение По первому запрос для поиска последняя заполненная по второму [vba]Код
If Лист1.Cells(i, 1).Value = Лист2.Cells(j, 1).Value Then
[/vba] PS этот вариант будет использовать кодовое имя листа. Если нужно с имя, которое написано на ярлычке, то [vba]Код
If Sheets("Лист1").Cells(i, 1).Value = Sheets("Лист2").Cells(j, 1).Value Then
[/vba] Автор - RAN Дата добавления - 04.10.2013 в 13:36
Homamilae
Дата: Пятница, 04.10.2013, 16:11 |
Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
RUN, спасибо! [vba]Код
Dim j As Integer Dim i As Integer For i = 1 To 125 For j = 1 To 2301 If Лист1.Cells(i, 2).Value = Лист2.Cells(j, 3).Value Then Лист1.Cells(i, 2).Value = Лист2.Cells(j, 6).Value End If Next j Next i End Sub
[/vba] Попробовала данный код на приложенном файле. Почему-то не заменились ячейки - не понятно почему ( [moder]Оформляйте коды тегами (кнопка #)[/moder]
RUN, спасибо! [vba]Код
Dim j As Integer Dim i As Integer For i = 1 To 125 For j = 1 To 2301 If Лист1.Cells(i, 2).Value = Лист2.Cells(j, 3).Value Then Лист1.Cells(i, 2).Value = Лист2.Cells(j, 6).Value End If Next j Next i End Sub
[/vba] Попробовала данный код на приложенном файле. Почему-то не заменились ячейки - не понятно почему ( [moder]Оформляйте коды тегами (кнопка #)[/moder] Homamilae
Сообщение отредактировал Homamilae - Пятница, 04.10.2013, 16:31
Ответить
Сообщение RUN, спасибо! [vba]Код
Dim j As Integer Dim i As Integer For i = 1 To 125 For j = 1 To 2301 If Лист1.Cells(i, 2).Value = Лист2.Cells(j, 3).Value Then Лист1.Cells(i, 2).Value = Лист2.Cells(j, 6).Value End If Next j Next i End Sub
[/vba] Попробовала данный код на приложенном файле. Почему-то не заменились ячейки - не понятно почему ( [moder]Оформляйте коды тегами (кнопка #)[/moder] Автор - Homamilae Дата добавления - 04.10.2013 в 16:11
Homamilae
Дата: Пятница, 04.10.2013, 16:15 |
Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
Ответить
SkyPro
Дата: Пятница, 04.10.2013, 16:17 |
Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация:
255
±
Замечаний:
0% ±
2010
[offtop]Уважаемый ТС, прочитайте правила. А то вашу тему могут закрыть с потрохами.
[offtop]Уважаемый ТС, прочитайте правила. А то вашу тему могут закрыть с потрохами. SkyPro
skypro1111@gmail.com
Ответить
Сообщение [offtop]Уважаемый ТС, прочитайте правила. А то вашу тему могут закрыть с потрохами. Автор - SkyPro Дата добавления - 04.10.2013 в 16:17
Homamilae
Дата: Пятница, 04.10.2013, 16:29 |
Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
Искренне извиняюсь, что нарушаю правила форума. Но к сожалению файл весит много (((
Искренне извиняюсь, что нарушаю правила форума. Но к сожалению файл весит много ((( Homamilae
Ответить
Сообщение Искренне извиняюсь, что нарушаю правила форума. Но к сожалению файл весит много ((( Автор - Homamilae Дата добавления - 04.10.2013 в 16:29
Hugo
Дата: Пятница, 04.10.2013, 16:41 |
Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3703
Репутация:
792
±
Замечаний:
0% ±
365
Если "на самом деле около 100000", то цикл в цикле по ячейкам категорически не годится. Ну разве что на ночь запускать...
Если "на самом деле около 100000", то цикл в цикле по ячейкам категорически не годится. Ну разве что на ночь запускать... Hugo
webmoney: E265281470651 Z422237915069 USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
Ответить
Сообщение Если "на самом деле около 100000", то цикл в цикле по ячейкам категорически не годится. Ну разве что на ночь запускать... Автор - Hugo Дата добавления - 04.10.2013 в 16:41
Homamilae
Дата: Пятница, 04.10.2013, 16:44 |
Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
Погорячилась со 1000000. Около 2000.
Погорячилась со 1000000. Около 2000. Homamilae
Ответить
Сообщение Погорячилась со 1000000. Около 2000. Автор - Homamilae Дата добавления - 04.10.2013 в 16:44
Hugo
Дата: Пятница, 04.10.2013, 16:48 |
Сообщение № 12
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3703
Репутация:
792
±
Замечаний:
0% ±
365
Ну 2000 ещё можно так делать - скрипт рабочий, только ячейки не те сравниваете, не те копируете.
Ну 2000 ещё можно так делать - скрипт рабочий, только ячейки не те сравниваете, не те копируете. Hugo
webmoney: E265281470651 Z422237915069 USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
Ответить
Сообщение Ну 2000 ещё можно так делать - скрипт рабочий, только ячейки не те сравниваете, не те копируете. Автор - Hugo Дата добавления - 04.10.2013 в 16:48
Homamilae
Дата: Пятница, 04.10.2013, 17:00 |
Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
А какие надо? Видимо от усталости "глаз замылился". Не могу найти ошибку (( (мне стыдно ))))
А какие надо? Видимо от усталости "глаз замылился". Не могу найти ошибку (( (мне стыдно )))) Homamilae
Ответить
Сообщение А какие надо? Видимо от усталости "глаз замылился". Не могу найти ошибку (( (мне стыдно )))) Автор - Homamilae Дата добавления - 04.10.2013 в 17:00
Homamilae
Дата: Пятница, 04.10.2013, 17:02 |
Сообщение № 14
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
Я точно знаю что 2 столбец в Листе 1 нужно сравнивать с 3 столбцом Листа 2 и заменять значениями из 6 столбца Листа 2
Я точно знаю что 2 столбец в Листе 1 нужно сравнивать с 3 столбцом Листа 2 и заменять значениями из 6 столбца Листа 2 Homamilae
Ответить
Сообщение Я точно знаю что 2 столбец в Листе 1 нужно сравнивать с 3 столбцом Листа 2 и заменять значениями из 6 столбца Листа 2 Автор - Homamilae Дата добавления - 04.10.2013 в 17:02