Я новичок здесь, и это моя проблема; в VBA, Excel 2010 я хочу найти конкретное c слово или список слов в каждой строке с содержимым на одном листе, и если он совпадает, то он копирует всю строку этого листа и вставляет его в новый в первая строка, а затем продолжается цикл назад и вперед от листа к листу после окончания списка слов. В конце вы получите новый лист с кучей строк, собранных из вашего поискового запроса. У меня есть исходный код, не знаю, понравится ли вам, ребята, его увидеть. Спасибо.
Sub Macro1()
Dim sheetName As String
Dim recintos As String
Dim recintosArray() As String
Dim namevar As Variant
Dim sheetLimit As Integer
Dim n As Integer
'Words to search and copy in the sheet
'Nombre del sheet a buscar en el documento abierto
sheetName = InputBox("Nombre de la hoja o sheet en donde desea copiar los recintos :")
'Save a string type data
'Guarda los datos como tipo cadena
recintos = InputBox("Introduzca los nombres de los recintos separados por coma :", "Buscador de recintos", "00000,00000,00000...")
'Split the words and save it in array type
'Separa la cadena y los guarda en un arreglo
recintosArray() = Split(recintos, ",")
namevar = InputBox("Introduzca el nombre de la hoja que desea crear para pegar c/u :")
'Makes a new sheet and defines a name
'Crea un sheet nuevo y define el nombre
Sheets.Add After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = namevar
sheetLimit = Sheets(sheetName).Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
'Array index
'Indice del arreglo recintosArray
n = 0
For i = 1 To sheetLimit
Sheets(sheetName).Activate
currentCellName = Sheets(sheetName).Cells(i, 1).Value
If n <= UBound(recintosArray) Then
If Replace(currentCellName, Chr(32), "") = recintosArray(n) Then
Sheets(sheetName).Rows(i).Copy
newSheetLimit = Sheets(namevar).Cells(Rows.Count, 1).End(xlUp).Offset(0, 0).Row
Sheets(namevar).Activate
Sheets(namevar).Cells(newSheetLimit + 1, 1).Select
ActiveSheet.Paste
n = n + 1
i = 1
End If
End If
Next i
End Sub