Макрос Excel - Копирование указанных ячеек c на основе критериев - PullRequest
0 голосов
/ 12 марта 2020

Я пытаюсь найти способ скопировать определенные c данные из листа Excel через макрос. Я много занимался поиском в Google и YouTube, но мне не хватает.

enter image description here

Мне нужны все цифры, начиная с 9 в столбце A название продукта из колонки B - это должно игнорировать ячейки с G Street VI C & C Street NSW 4 значения ячейки (включая 0) справа от Total: ячейка

Эти данные должны быть помещены в один ряд на отдельном листе в том же документе.

Так, например: 9343907003122 ПАНЕЛЬ 15W
Местоположение 1 G Улица VI C 18 0 0 18 Итого: 18 0 0 18

Должно выглядеть примерно так: 9343907003122 ПАНЕЛЬ 15W 18 0 0 18

1 Ответ

0 голосов
/ 12 марта 2020

Предполагая, что числа находятся в столбце А на Листе 1, а отдельные строки записаны на Листе 2.

Option Explicit

Sub mymacro()

    Dim wb As Workbook, ws As Worksheet, wsOut As Worksheet
    Dim cell As Range
    Dim iLastRow As Long, iOutRow As Long
    iOutRow = 0

    Set wb = ThisWorkbook
    Set ws = wb.Sheets("Sheet1")
    Set wsOut = wb.Sheets("Sheet2")

    iLastRow = ws.Range("C" & Rows.Count).End(xlUp).Row
    For Each cell In ws.Range("A1:A" & iLastRow)

        If cell.Value Like "9###########" Then ' 12 digit starting 9

            iOutRow = iOutRow + 1
            cell.Resize(1, 2).Copy wsOut.Cells(iOutRow, 1)

        ElseIf LCase(cell.Offset(0, 1)) Like "total*" Then

            cell.Offset(0, 2).Resize(1, 4).Copy wsOut.Cells(iOutRow, 3)

        End If

    Next

    MsgBox iOutRow & " rows created on " & wsOut.Name, vbInformation

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...