У меня есть этот рабочий лист, который содержит столбцы «код, операция, заголовок, дата, имя, описание, статус». Формат все в общем.
code:4566, 4899, 4987, 4988, 4989
operation:X,Y,Z,X,Y
title:XX,YY,ZZ,RR,XXY
date: (the date column is not blank)
name:Adam,Edward,Adam,Kris,Chris
description: (some rows has data for this column, some are blank)
status: active, inactive, closed
Я пытаюсь скопировать строки, в столбце "имя" которых есть "Адам" или "Эдвард" И столбец "статус" и "активно", на новый лист, содержащий столбцы «код, заголовок, дата, имя, описание, статус». (Я не хочу столбец "операция" на новом листе)
на данный момент, я не против, если некоторые из моих ячеек описания в строках пусты. Я все еще хочу это в результатах.
к концу возвращаемые значения будут только 2 ряда: 4566 и 4987
Я мог бы сделать это вручную. Но я хочу попробовать, если это возможно сделать VBA одним щелчком мыши (процесс автоматизации)
Спасибо.
P/S: прошу прощения за не включая то, что у меня есть сейчас, вот оно
Options Explicit
Sub Button1_Click()
Dim myRow As Long 'for finding last row
Dim xlast As Integer 'x is the last row
Dim sht As Worksheet 'original sheet
Dim newsht As Worksheet 'sheet with new data
Set sht = ThisWorkbook.Worksheets("Sheet1")
Set newsht = ThisWorkbook.Worksheets("Sheet2")
myCol = code
xlast = sht.Cells(Rows.Count, myCol).End(xlUp).Row
'go through my code column for non-blank
For x = 1 To xlast 'from 1st row till last row
(tab) If (sheet.name.Cells() = "Adam" OR "Edward") And (sheet.status.Cells() = "active")
(tab) Then newsht.Rows.Value(code,title,date,name,description,status) = sheet.Rows().Value(code,title,date,name,description,status)
End If
Next
End Sub