В настоящее время я работаю над следующим кодом, который просматривает все вкладки в книге Excel, выбирает все валюты, превышающие определенный порог в определенном столбце «J», и если критерии соблюдены, строка, содержащая валюту, превышающую порог, вставляется в новая созданная вкладка под названием «резюме».
Теперь мой вопрос: 1. Есть ли шанс сделать этот код более интерактивным? Что я хотел бы сделать, так это добавить поле ввода, в котором пользователь вводит свой порог (в моем примере 1000000), и этот порог используется для перебора всех вкладок. 2. Было бы здорово получить поле ввода типа «выбрать столбец, содержащий валюту», так как столбец «J» не будет установлен все время, это также может быть другой столбец («I», «M» и т. д.), однако это будет одинаковым для всех листов. 3. Есть ли шанс выбрать определенные листы в книге (STRG + "sheetx" "sheety" и т. д.), которые затем вставляются в мой цикл, а все остальные игнорируются?
Любая помощь, особенно по моим вопросам в вопросах 1 и 2, приветствуется. Вопрос 3 будет только "приятным"
Option Explicit
Sub Test()
Dim WS As Worksheet
Set WS = Sheets.Add
WS.Name = "Summary"
Dim i As Long, j As Long, lastRow As Long
Dim sh As Worksheet
With Sheets("Summary")
.Cells.Clear
End With
j = 2
For Each sh In ActiveWorkbook.Sheets
If sh.Name <> "Summary" Then
lastRow = sh.Cells(sh.Rows.Count, "A").End(xlUp).Row
For i = 4 To lastRow
If sh.Range("J" & i) > 1000000 Or sh.Range("J" & i) < -1000000 Then
sh.Range("a" & i & ":n" & i).Copy Destination:=Worksheets("Summary").Range("A" & j)
Sheets("Summary").Range("N" & j) = sh.Name
j = j + 1
End If
Next i
End If
Next sh
Sheets("Summary").Columns("A:N").AutoFit
End Sub