Вывод строк в VBA - VBA (48604)

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

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

Есть на Лист1 колонки "A" и "B" с наименованием. Есть на Лист2 колонки "A" и "B" тоже с наименованием. Кнопка"Сравнить" сравнивает два списка двух листов, и те наименования что есть на Лист1, но нет на Лист2, вывести на Лист3. Код выводит только две колонки "A" и "B". Хотелось бы добить код так, что бы информация с колонок "D","E","G","R","T","V" Листа1 выводилось на Лист3 в колонки "С","D","E","F","G","H". Код копки "Сравнить":

Решение задачи: «Вывод строк в VBA»

textual
Листинг программы
Dim objConnection As Object
Dim rs As Object
Dim sqlStr$, i&
Set objConnection = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
objConnection.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & ActiveWorkbook.Path & "/" & ActiveWorkbook.Name & ";" & _
"Extended Properties=""Excel 12.0;HDR=Yes"";"
sqlStr = "SELECT a2.[Инвентарный номер], a2.[Наименование], a2.[Склад], a2.[Количество], "
sqlStr = sqlStr & "a2.[Цена за единицу] , a2.[Дата ввода в эксплуатацию], a2.[Местоположение 2], "
sqlStr = sqlStr & "a2.[Заводской номер] "
sqlStr = sqlStr & "from [лист1$] as a2 "
sqlStr = sqlStr & "Where a2.[Инвентарный номер] & a2.[Наименование] not in ("
sqlStr = sqlStr & "Select a3.[Инвентарный №] & a3.[Наименование] as eee from [лист2$] as a3)"
rs.Open sqlStr, objConnection, 3, 3
For i = 0 To rs.Fields.Count - 1
Sheets("Лист3").Cells(1, i + 1) = rs.Fields(i).Name
Next i
Sheets("Лист3").Cells(2, 1).CopyFromRecordset rs
Set rs = Nothing
Set objConnection = Nothing

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


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

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

8   голосов , оценка 4 из 5