VBA для выбора строки на основе двух критериев; Может быть, одна «Value», а другая «InStr»? - PullRequest
0 голосов
/ 05 марта 2019

В настоящее время используется следующий VBA в Excel для выбора строк из основного листа (Sheet1) в другой лист (Sheet2) ...

Option Explicit

Private Sub Workbook_Open()

Dim i, LastRow

LastRow = Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row 
'this line finds the last row used in a sheet.

Sheets("Sheet2").Range("A2:M1000").ClearContents 
'this line clears the contents of Sheet2 from A2 to M1000.

For i = 2 To LastRow

If Sheets("Sheet1").Cells(i, "D").**Value = "OlsonJo"** And Sheets("Sheet1").Cells(i, "H").**Value = "UT-STRL Administration"** Then  
'the two criteria are in this line; "OlsonJo" and "UT-STRL Administration"

Sheets("Sheet1").Cells(i, "D").EntireRow.Copy Destination:=Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Offset(1)

End If

Next i

End Sub

Это успешно находит строки с «OlsonJo» И «UT-STRL Administration» в строках основного листа, затем копирует и вставляет эти строки в Лист 2.

Теперь я хотел бы расширить возможности поиска на главном листе. Все еще хотите продолжать использовать Value = "OlsonJo" , но вместо использования Value = "Администрирование UT-STRL" как я могу использовать InStr для поиска строк только по UT - часть «Администрирования UT-STRL» *, чтобы я мог включить в результаты листа 2 другие задачи, начинающиеся с UT- (т. Е. «Заседание комитета UT-Dept / Faculty» и «UT- Учебно-медицинский институт ")?

Заранее спасибо за ваше время! -Rick

1 Ответ

1 голос
/ 05 марта 2019

Как насчет

Left(Sheets("Sheet1").Cells(i, "H").Value2, 3) = "UT-"

вместо

Sheets("Sheet1").Cells(i, "H").Value = "UT-STRL Administration"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...