Ejecutar en las demás hojas

Como puedo cambiar la línea de este código y no se ejecute solamente en la hoja1 sino en demás hojas del libro

Private Sub CommandButton8_Click()
    Dim R As Range
Dim T As String
Dim C As String
Set R = Sheets("Hoja1").Range("A1:SZ50")
If Me.Uno.Text = "" Then T = T & "?" Else T = T & Uno.Text
If Me.Dos.Text = "" Then T = T & "?" Else T = T & Dos.Text
If Me.Tres.Text = "" Then T = T & "?" Else T = T & Tres.Text
If Me.Cuatro.Text = "" Then T = T & "?" Else T = T & Cuatro.Text
     Call seleccionaceldascoincidentes(T, R)
End Sub
Sub seleccionaceldascoincidentes(texto As String, rango As Range)
Dim celda As Object
Dim i As Integer
Me.ListBox1.Clear
i = 1
    For Each celda In rango
        If celda.Value Like texto Then
            Me.ListBox1.AddItem celda.Address & " : " & celda.Value
        End If
    Next celda
    MsgBox "Proceso Terminado"
End Sub
Respuesta
1

Amigo aquí te escribo una posible solución

Private Sub CommandButton8_Click()
Dim R As Range
Dim T As String
Dim C As String

For i = 1 To Sheets.Count

Set R = Sheets(i).Range("A1:SZ50")
If Me.Uno.Text = "" Then T = T & "?" Else T = T & Uno.Text
If Me.Dos.Text = "" Then T = T & "?" Else T = T & Dos.Text
If Me.Tres.Text = "" Then T = T & "?" Else T = T & Tres.Text
If Me.Cuatro.Text = "" Then T = T & "?" Else T = T & Cuatro.Text
Call seleccionaceldascoincidentes(T, R)

Next
End Sub
Sub seleccionaceldascoincidentes(texto As String, rango As Range)
Dim celda As Object
Dim i As Integer
Me.ListBox1.Clear
i = 1
For Each celda In rango
If celda.Value Like texto Then
Me.ListBox1.AddItem celda.Address & " : " & celda.Value
End If
Next celda
MsgBox "Proceso Terminado"
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas