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

181
Vistas
La macro de Excel VBA falla Excel

He creado una macro con algo de ayuda con la gente maravillosa de este sitio web que determina si las columnas en este Excel están llenas y luego las separa para un proyecto más grande. mi problema es que el código simplemente falla (se carga hasta que hago clic en el que me dicen que excel no responde) excel. ¿podría obtener ayuda?

 Option Explicit Public Sub emptysinder() Dim i As Long Dim r As Range Dim num As Integer For i = 1 To 9 Set r = Range("F1").Offset(0, i - 1).Resize(200, 1) If IsAllEmpty(r) Then num = num + 1 Debug.Print "Range " & r.Address & " is all empty." & num ElseIf IsAnyEmpty(r) Then Debug.Print "Range " & r.Address & " is partially empty." Else Debug.Print "Range " & r.Address & " filled." End If Next i split (num) End Sub Public Function IsAllEmpty(ByVal r_range As Range) As Boolean Dim Item As Range For Each Item In r_range If Not IsEmpty(Item) Then IsAllEmpty = False Exit Function End If Next IsAllEmpty = True End Function Public Function IsAnyEmpty(ByVal r_range As Range) As Boolean Dim Item As Range For Each Item In r_range If IsEmpty(Item) Then IsAnyEmpty = True Exit Function End If Next IsAnyEmpty = False End Function Public Function split(i As Integer) Dim sheet As Integer Dim colOpt As Integer sheet = 14 colOpt = sheet - i Dim s As Integer Do While i > 0 For s = 4 To 0 Columns(colOpt).Select Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove i = i - 1 Next s Loop End Function
about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Como dijo Shrotter anteriormente, su ciclo for en la función de división no se está ejecutando porque el valor de s está aumentando, no disminuyendo. Use For s = 4 To 0 Step -1 para disminuir s en 1 en cada iteración.

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