Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

126
Vistas
VBA sub no selecciona el rango de una hoja de trabajo específica

Solo quiero obtener el rango de A1: A80 de una hoja llamada "Niños", pero lo depuré, no obtiene nada. Aquí está mi código a continuación:

 Dim wks2 As Worksheet Dim children As Range Worksheets("Children").Activate Set wks2 = Worksheets("Children") Set children = wks2.Range("A1:A80") ResetChild (children) //The sub that I want to call. Explanation bellow.

En la función ResetChild, quiero eliminar todas las hojas de mi Workbook, que tienen nombres iguales a la primera columna de la hoja Children. (A1: A80) Así que aquí está mi sub a continuación:

 Sub ResetChild(children As Range) Call DisableCalculations Dim cell As Range For Each cell In children Set childrenSheet = Worksheets(cell.Value) If (DoesSheetExist(childrenSheet)) Then Application.DisplayAlerts = False Sheets(childrenSheet).Delete Application.DisplayAlerts = True End If End Sub
about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Tu código debería funcionar. ¿Cómo sabes que no devuelve nada? pon la fila al final de tu código

 Debug.Print children.Count

si devuelve> 0, entonces todo está bien y los niños son el objeto de rango con datos

about 4 years ago · Santiago Trujillo Denunciar

0

Tal vez intente algo como esto:

 Sub DeleteChildren() Dim children As Range Dim oChildSheet As Worksheet Dim vChildName Set children = ThisWorkbook.Worksheets("Children").Range("A1:A80") For Each vChildName In children Set oChildSheet = GetChildSheet(CStr(vChildName)) If Not oChildSheet Is Nothing Then Application.DisplayAlerts = False Call oChildSheet.Delete Application.DisplayAlerts = True End If Next vChildName End Sub Function GetChildSheet(sChildName As String) As Worksheet On Error GoTo errHandler Set GetChildSheet = ThisWorkbook.Worksheets(sChildName) Exit Function errHandler: Debug.Print "Child sheet not found: " & sChildName End Function
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda