Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Скрипт, который меняет значение ячейки на другое - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Скрипт, который меняет значение ячейки на другое
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
Дата добавления - 04.10.2013 в 10:07
Hugo Дата: Пятница, 04.10.2013, 10:26 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3703
Репутация: 792 ±
Замечаний: 0% ±

365
Именно скрипт нужен? Вручную "закопипастить" результат, полученный ВПР() не годится? Я бы делал вручную...


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
К сообщению приложен файл: 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"


Сообщение отредактировал 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
Репутация: 1163 ±
Замечаний: 0% ±

2010
По первому запрос для поиска последняя заполненная
по второму
[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: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]


Сообщение отредактировал 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
Приложенный файл http://dfiles.ru/files/ojk9fchr7
 
Ответить
СообщениеПриложенный файл http://dfiles.ru/files/ojk9fchr7

Автор - Homamilae
Дата добавления - 04.10.2013 в 16:15
SkyPro Дата: Пятница, 04.10.2013, 16:17 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
[offtop]Уважаемый ТС, прочитайте правила.
А то вашу тему могут закрыть с потрохами.


skypro1111@gmail.com
 
Ответить
Сообщение[offtop]Уважаемый ТС, прочитайте правила.
А то вашу тему могут закрыть с потрохами.

Автор - SkyPro
Дата добавления - 04.10.2013 в 16:17
Homamilae Дата: Пятница, 04.10.2013, 16:29 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Искренне извиняюсь, что нарушаю правила форума. Но к сожалению файл весит много (((
 
Ответить
СообщениеИскренне извиняюсь, что нарушаю правила форума. Но к сожалению файл весит много (((

Автор - Homamilae
Дата добавления - 04.10.2013 в 16:29
Hugo Дата: Пятница, 04.10.2013, 16:41 | Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3703
Репутация: 792 ±
Замечаний: 0% ±

365
Если "на самом деле около 100000", то цикл в цикле по ячейкам категорически не годится. Ну разве что на ночь запускать...


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
Дата добавления - 04.10.2013 в 16:44
Hugo Дата: Пятница, 04.10.2013, 16:48 | Сообщение № 12
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3703
Репутация: 792 ±
Замечаний: 0% ±

365
Ну 2000 ещё можно так делать - скрипт рабочий, только ячейки не те сравниваете, не те копируете.


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
Дата добавления - 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
Дата добавления - 04.10.2013 в 17:02
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!