Как организовать поиск по ячейке столбца sheets(1), а заменить на ячейки из sheets(2) - VB

Узнай цену своей работы

Формулировка задачи:

Прошу помочь с программой.
Нужно организовать спецификацию на sheets(1) по имеющейся таблице которая находится на sheets(2).
Есть одна колонка по ячейкам (В1...n) которой нужно организовать поиск - соответствие с ячейками колонки С на sheets(2).
После нахождения соответствия например В1 sheets(1)=С2 sheets (2) - заменить содержащее (E1:H1) sheets (1) на (D2:G2) sheets(2).
В цикле до последнего n, где n - количество используемых ячеек в столбце.
Спасибо большое

Решение задачи: «Как организовать поиск по ячейке столбца sheets(1), а заменить на ячейки из sheets(2)»

textual
Листинг программы
<font color="#00AA00">' ...</font>
<font color="blue">With</font> Worksheets(<font color="darkblue"><b>1</b></font>)
lngB = .Cells(.Rows.Count,<font color="darkblue"><b>2</b></font>).<font color="blue">End</font>(xlUp).Row
<font color="blue">For</font> lngA = <font color="darkblue"><b>1</b></font> <font color="blue">To</font> lngB
  <font color="blue">Set</font> c = Worksheets(<font color="darkblue"><b>2</b></font>).Range(sFindRange).Find(What:=.Cells(lngA, <font color="darkblue"><b>2</b></font>).Value2, LookIn:=xlValues, LookAt:=xlWhole)
  <font color="blue">If</font> <font color="blue">Not</font> (c <font color="blue">Is</font> <font color="blue">Nothing</font>) <font color="blue">Then</font>

    Worksheets(<font color="darkblue"><b>2</b></font>).Range(c.Offset(<font color="darkblue"><b>0</b></font>,<font color="darkblue"><b>1</b></font>), c.Offset(<font color="darkblue"><b>0</b></font>,<font color="darkblue"><b>4</b></font>)).Copy .Range(<font color="teal">"E"</font> & lngA)

    <font color="blue">Set</font> c = <font color="blue">Nothing</font>
  <font color="blue">End</font> <font color="blue">If</font>
<font color="blue">Next</font> lngA
.Columns(<font color="teal">"G"</font>).Insert xlShiftToRight                   <font color="#00AA00">' вставить столбец перед столбцом [G]</font>
.Range(<font color="teal">"G1:G"</font> & lngB).FormulaR1C1 = <font color="teal">"=RC[-2]*RC[-1]"</font>  <font color="#00AA00">' задать формулу для диапазона</font>
                                                      <font color="#00AA00">' (!) если в ячейке E или F будут нечисловые данные - </font>
                                                      <font color="#00AA00">'     в ячейке G получим ошибку</font>

<font color="blue">End</font> <font color="blue">With</font>
<font color="#00AA00">' ...</font>

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.714 из 5
Похожие ответы