Uso de comodines
Amigo, otra consulta más bajo el mismo código que hemos estado viendo, y gracias por dedicarle tiempo ya que aún no soy muy bueno en esto de la programación. Me podrías ayudar en el uso de los comodines para realizar búsquedas, es en el siguiente código, ya que cuando realiza la búsqueda tiene que ser con los mismos datos; por ejemplo: si quiero buscar todos los equipos con series %CQJH2M1%, ya que a veces hay caracteres antes y después de la serie.
Supongo que ha de ser por la función Ucase, pero he intentado anexarle comodines pero no me los acepta. ¿Me podrías indicar cómo le hago para usar comodines para la búsqueda en este código y en que parte del cógio los escribiría?
Nuevamente, muchísimas gracias. Anexo el código que estoy usando.
Private Sub BUSQUEDA_Click()
Dim ultima_fila As Long
Dim ultima_columna As Long
Dim fila As Long
Dim columna As Long
Dim fila1 As Long
Dim columna1 As Long
Dim buscar As String
Dim cadena As String
Dim encontro As Boolean
encontro = False
'Digita dato a buscar
buscar = Application.InputBox("No. De Serie para realizar reporte:", "Parametro Requerido", "")
If buscar <> "" Then
'Crea hoja de reporte
Dim nombreHoja As String
nombreHoja = InputBox("Escriba un nombre para generar el reporte:")
If nombreHoja = "" Then Exit Sub
Dim hoja As Worksheet
Set hoja = ActiveWorkbook.Sheets.Add
hoja.Name = nombreHoja
ActiveSheet.Move after:=Worksheets(Worksheets.Count)
Sheets("2010").Range("A1:AV2").Copy Destination:=Sheets(hoja.Name).Range("A1")
'Busqueda de dato
buscar = UCase(buscar)
ultima_fila = Worksheets("2010").Cells.SpecialCells(xlCellTypeLastCell).Row
ultima_columna = Worksheets("2010").Cells.SpecialCells(xlCellTypeLastCell).Column
fila3 = 3
For fila = 3 To ultima_fila
columna1 = 1
If Worksheets("2010").Cells(fila, 15) = buscar Then
For columna = 1 To ultima_columna
Worksheets(hoja.Name).Cells(fila3, columna1) = Worksheets("2010").Cells(fila, columna)
columna1 = columna1 + 1
Next columna
fila3 = fila3 + 1
End If
Next fila
End If
MsgBox ("NO HAY REGISTROS. FIN DE REPORTE. FAVOR DE ELIMINAR REPORTE")
End Sub
Supongo que ha de ser por la función Ucase, pero he intentado anexarle comodines pero no me los acepta. ¿Me podrías indicar cómo le hago para usar comodines para la búsqueda en este código y en que parte del cógio los escribiría?
Nuevamente, muchísimas gracias. Anexo el código que estoy usando.
Private Sub BUSQUEDA_Click()
Dim ultima_fila As Long
Dim ultima_columna As Long
Dim fila As Long
Dim columna As Long
Dim fila1 As Long
Dim columna1 As Long
Dim buscar As String
Dim cadena As String
Dim encontro As Boolean
encontro = False
'Digita dato a buscar
buscar = Application.InputBox("No. De Serie para realizar reporte:", "Parametro Requerido", "")
If buscar <> "" Then
'Crea hoja de reporte
Dim nombreHoja As String
nombreHoja = InputBox("Escriba un nombre para generar el reporte:")
If nombreHoja = "" Then Exit Sub
Dim hoja As Worksheet
Set hoja = ActiveWorkbook.Sheets.Add
hoja.Name = nombreHoja
ActiveSheet.Move after:=Worksheets(Worksheets.Count)
Sheets("2010").Range("A1:AV2").Copy Destination:=Sheets(hoja.Name).Range("A1")
'Busqueda de dato
buscar = UCase(buscar)
ultima_fila = Worksheets("2010").Cells.SpecialCells(xlCellTypeLastCell).Row
ultima_columna = Worksheets("2010").Cells.SpecialCells(xlCellTypeLastCell).Column
fila3 = 3
For fila = 3 To ultima_fila
columna1 = 1
If Worksheets("2010").Cells(fila, 15) = buscar Then
For columna = 1 To ultima_columna
Worksheets(hoja.Name).Cells(fila3, columna1) = Worksheets("2010").Cells(fila, columna)
columna1 = columna1 + 1
Next columna
fila3 = fila3 + 1
End If
Next fila
End If
MsgBox ("NO HAY REGISTROS. FIN DE REPORTE. FAVOR DE ELIMINAR REPORTE")
End Sub
Respuesta de Luis Gonzalez
1