Visual Basic - Error al ejecutar código macro en sistema de reserva

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

Error al ejecutar código macro en sistema de reserva

Publicado por Ezio (2 intervenciones) el 08/10/2022 13:49:36
Buenos días
Estoy trabajando en un libro el cual consta de 3 hojas.
- Info desplegables: es la hoja auxiliar donde coloco los datos para desplegables y otros datos necesarios
- Planing: es la hoja donde determino el trimestre que voy a trabajar y es donde se va reflejar la información que se plasme en la hoja "info dic-ene-feb"
- Info dic-ene-feb: en esta hoja ingreso la información requerida. En esta hoja las columnas J y K se obtienen de cálculos auxiliares. Me sirven para determinar si la reserva es un ingreso del trimestre anterior o en su defecto la salida del huésped es en el trimestre que sigue. Para que la macro me funcione, realice cálculos auxiliares para determinar que si la reserva termina en el trimestre que sigue tome como valor el ultimo día del trimestre en el que estoy trabajando y si la reserva viene del trimestre anterior tome el primer día de trimestre en vigencia.

Cuando ejecuto la macro me sale un cartel de error y luego doy a depurar.

Cuando salgo del VBA y me dirijo a la hoja Planing, los datos han sido cargados de manera correcta.

Haciendo pruebas para ver que podía ser, me he percatado que este error no me sale cuando en las columnas J y K no hay fórmulas, pero necesito que estas se mantengan para el funcionamiento de la planilla.

¿Cómo podría hacer para que el error no me salga? o que debería modificar de la macro para que la lea de manera correcta.

COPIO el código

Linea error: Set Destino = .Range(.Cells(Room.Row, Ini.Column), .Cells(Room.Row, Fin.Column))

Desde ya muchas gracias a quien pueda aportarme una solución.
Atte
CSI
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 1.259
Plata
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Error al ejecutar código macro en sistema de reserva

Publicado por Antoni Masana (558 intervenciones) el 10/10/2022 16:16:09
No entiendo que hace la macro y la realidad es que no me he molestado en entenderlo.
Lo que si he visto es algo que no me cuadra.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Sub planing()
    Dim Room As Range
    Dim Ini As Range
    Dim Fina As Range
    Dim Destino As Range
    '--
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    '--
    With Sheets("Planing")
        For x = 5 To .Range("A" & Rows.Count).End(xlUp).Row
            .Range("B" & x & ":Bj" & x).UnMerge
            .Range("B" & x & ":Bj" & x).Interior.Color = .Range("B" & x).Interior.Color
            .Range("B" & x & ":Bj" & x) = ""
        Next
        '
        For x = 2 To Range("A" & Rows.Count).End(xlUp).Row
            Set Room = .Columns("A").Find(Range("M" & x), , , xlWhole)
            If Not Ini Is Nothing And _
               Not Fin Is Nothing Then
            Else
                Set Destino = .Range(.Cells(Room.Row, Ini.Column), .Cells(Room.Row, Fin.Column))
                Destino.Merge
                Destino = Range("E" & x) & "-" & Range("C" & x) & "-" & Range("F" & x)
                Destino.HorizontalAlignment = xlCenter
                Destino.Font.Bold = True
 
            End If
        Next
        .Select
    End With
End Sub

La variable Ini esta definida y se utiliza en el IF sin asignarle un valor ¿Que vale? ¿Que contiene?
La variable Fin NO esta definida y se utiliza en el IF sin asignarle un valor ¿Que vale? ¿Que contiene?
La variable Fina esta definida y NO se utiliza.

El problema viene por por el contenido de estas dos variables.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Error al ejecutar código macro en sistema de reserva

Publicado por Ezio (2 intervenciones) el 10/10/2022 23:21:35
Muchas gracias Antoni
Tenga usted un excelente dia
Atte
CSI
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar