В настоящее время я работаю над следующим кодом, который выполняет поиск по всем вкладкам в книге Excel, выбирает все валюты, превышающие определенный порог в определенном столбце «J», и если критерии удовлетворяют строке, содержащей валюта, которая является более высоким порогом, вставлена в новую созданную вкладку под названием «summary».Вводные поля ввода кода более интерактивны
Теперь мой вопрос: 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
Как она стоит, это слишком широко. У вас есть 3 вопроса, которые следует задать отдельно. Попробуйте изменить свой код, чтобы ответить на первый вопрос, и, в случае успеха, перейдите к следующему. Если ваша попытка изменения не работает, отправьте этот конкретный вопрос, включая сообщения об ошибках или нежелательное поведение. –
Возможно, вы правы, я попробую этот подход. –
У вас есть два возможных частичных ответа. Даже если они правы, их вряд ли увидит пользователь, который ищет «Лимит листа для отдельных листов» или «Выбор листов для прокрутки». Краткие краткие вопросы с четкими заголовками будут работать для вас и сообщества SO. –