Como hacer referencia a una hoja Excel
Espero estés bien.
Tengo un código que en un momento determinado, activa un form con un listbox pero todo hace referencia a datos de una hoja Excel cuyo nombre cambia durante la activación del código pasando de llamarse originalmente Hoja1 a C20170428 (a cont el código para renombrar hoja)
nbreho = ""
For Each sh In Sheets
If Left(sh.Name, 1) = "C" Then
nbreho = sh.Name
End If
Next sh
If nbreho = "" Then
MsgBox "No se encuentran datos capturados.", , "ERROR"
Exit Sub
End If
Application.ScreenUpdating = False
Sheets(nbreho).Select
Luego y en algún momento utilizo una subrutina para la búsqueda de esta hoja con nuevo nombre pero luego de encontrarla y al activarse el código del form con listbox, me sale error no coinciden los tipos justo en la línea en negrita
Private Sub UserForm_Initialize()
'llenar el listbox
Dim TopOffset As Integer
Dim LeftOffset As Integer
TopOffset = (Application.UsableHeight / 2) - (Me.Height / 2)
LeftOffset = (Application.UsableWidth / 2) - (Me.Width / 2)
Me.Top = Application.Top + TopOffset
Me.Left = Application.Left + LeftOffset
Dim i As Long
For i = 2 To Sheets("nbreho").Range("A65536").End(xlUp).Row
ListBox1. AddItem Sheets("nbreho").Cells(i, 2)
ListBox1.List(i - 2, 1) = Sheets("nbreho").Cells(i, 1)
ListBox1.List(i - 2, 2) = Sheets("nbreho").Cells(i, 3)
ListBox1.List(i - 2, 3) = Sheets("nbreho").Cells(i, 4)
ListBox1.List(i - 2, 4) = Sheets("nbreho").Cells(i, 5)
ListBox1.List(i - 2, 5) = Sheets("nbreho").Cells(i, 6)
ListBox1.List(i - 2, 6) = Sheets("nbreho").Cells(i, 7)
ListBox1.List(i - 2, 7) = Sheets("nbreho").Cells(i, 8)
ListBox1.List(i - 2, 8) = Sheets("nbreho").Cells(i, 9)
ListBox1.List(i - 2, 9) = Sheets("nbreho"). Cells(i, 10)
Next i
End Sub
La pregunta es: si con un nombre normal como "Histórico", todo funciona bien, ¿por qué al cambiar el nombre de la hoja interponiendo este pequeño código me da error?