Error de compilación. procedimiento demasiado largo

Solo consultas sobre macros y código VBA Excel.
Reglas del Foro 1. Antes de hacer tu pregunta intenta con el buscador de este foro (muchas preguntas ya fueron respondidas antes!)
2. Si haces una nueva pregunta, es muy recomendable que adjuntes el ejemplo Excel para poder comprenderla mejor!
3. Realiza tu pregunta de forma clara, explicando bien cada paso de lo que haces y tendrás más probabilidad de respuesta!

Error de compilación. procedimiento demasiado largo

Notapor Crubio » 11 Ene 2018 07:07

Buenos días,
Soy nueva en este foro, y mis conocimientos en programación nulos. Por lo que necesito vuestra ayuda.
He creado una hoja "Resumen" Excel en la que hay celdas que al hacer doble click te lleva a otra hoja o abren hojas en otro libro. Dejo anotado parte del código para que lo vean. Después de leer en varios foros, creo que lo que hay que hacer es crear subprocedimientos, pero no sé hacerlo. Si me pudiesen ayudar....

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address(RowAbsolute:=False, columnAbsolute:=False) = "B2" Then
Workbooks.Open Filename:="y:\DEL RIO Y MERINO, S.L\2017\2017 COSTE OBRA.xlsm"
Sheets("SIN PRESP1").Select
Sheets("SIN PRESP1").Range("A1").Select
End If
If Target.Address(RowAbsolute:=False, columnAbsolute:=False) = "A2" Then
Sheets("SERIE 2 - 1").Select
Sheets("SERIE 2 - 1").Range("A1").Select
End If
If Target.Address(RowAbsolute:=False, columnAbsolute:=False) = "B3" Then
Workbooks.Open Filename:="y:\DEL RIO Y MERINO, S.L\2017\2017 COSTE OBRA.xlsm"
Sheets("SIN PRESP2").Select
Sheets("SIN PRESP2").Range("A1").Select
End If
If Target.Address(RowAbsolute:=False, columnAbsolute:=False) = "A3" Then
Sheets("SERIE 2 - 2").Select
Sheets("SERIE 2 - 2").Range("A1").Select
End If
Cancel = False

End Sub[/color]

Cuando llega a las celdas "A148" y "B148".... da error de compilación
Gracias de antemano por la ayuda.
Crubio
Miembro Nuevo
Miembro Nuevo
 
Mensajes: 3
Registrado: 11 Ene 2018 06:57

Re: Error de compilación. procedimiento demasiado largo

Notapor Antoni » 11 Ene 2018 07:32

Si no hay nada mas escondido y yo he interpretado correctamente lo que quieres, sustituyendo tu macro por esta, se soluciona.

Código: Seleccionar todo
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
On Error Resume Next
If Not Intersect(Target, Range("A2:B" & Range("A" & Rows.Count.End(xlUp).Row))) Is Nothing Then
   Cancel = True
   Workbooks.Open Filename:="y:\DEL RIO Y MERINO, S.L\2017\2017 COSTE OBRA.xlsm"
   If Target.Column = 1 Then
      Sheets("SIN PRESP" & Target.Row - 1).Select
      Sheets("SIN PRESP" & Target.Row - 1).Range("A1").Select
      Exit Sub
   End If
   If Target.Column = 2 Then
      Sheets("SERIE 2 - " & Target.Row - 1).Select
      Sheets("SERIE 2 - " & Target.Row - 1).Range("A1").Select
      Exit Sub
   End If
End If
End Sub


Si no es esto, sube tus archivo y explica lo que pretendes conseguir.

.
Avatar de Usuario
Antoni
Miembro Frecuente
Miembro Frecuente
 
Mensajes: 5025
Registrado: 22 Dic 2009 04:58
Ubicación: GALICIA (ESPAÑA)

Re: Error de compilación. procedimiento demasiado largo

Notapor Crubio » 11 Ene 2018 09:11

Buenos días Antoni, Gracias por tu pronta respuesta. No es eso exactamente lo que necesito (creo o no sé usarlo). Los archivos no puedo enviarlos, al tratarse de información de empresa. Intentaré explicarme mejor. Tengo dos archivos creados, por un lado el archivo denominado "2017 FACT Serie 2" (en el que hay creada una hoja por cada factura emitida (nombradas 17001, 17002, 17003, etc.) y la última hoja del libro corresponde al listado "Resumen" de todas las facturas, y por otro lado tengo otro archivo nombrado "2017 Coste de obra", cada hoja de este libro corresponde al coste de cada factura nombradas con números correspondientes a los presupuestos aprobados (1411-17, 1424-17, S/P, 1215-17, 29526480... son números dispares).
La idea es, que desde la hoja "Resumen" yo pueda acceder a los datos, de tal forma que pinchado en las celdas de la columna "A" me dirija a la factura que corresponde dentro del mismo libro y pinchando la columna "B" me abra la hoja de presupuesto correspondiente a esa factura del libro "2017 Coste de obra",
Espero haberme explicado con claridad.... Gracias de nuevo
Crubio
Miembro Nuevo
Miembro Nuevo
 
Mensajes: 3
Registrado: 11 Ene 2018 06:57

Re: Error de compilación. procedimiento demasiado largo

Notapor Antoni » 11 Ene 2018 16:24

.
Abre los adjuntos y haz doble-click en la columna A o en la columna B, a partir de la fila 2, e irás a la factura o al presupuesto.

En cualquier hoja de cualquiera de los dos archivos, si haces doble-click en la celda A1, volverás a la hoja Resumen del archivo 2017 FACT Serie 2.xlsm.

Hay código en el módulo ThisWorkbook de ambos archivo y en la hoja Resumen del archivo 2017 FACT Serie 2.xlsm.
.
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
Avatar de Usuario
Antoni
Miembro Frecuente
Miembro Frecuente
 
Mensajes: 5025
Registrado: 22 Dic 2009 04:58
Ubicación: GALICIA (ESPAÑA)

Re: Error de compilación. procedimiento demasiado largo

Notapor Crubio » 12 Ene 2018 07:00

Ahora sí.... funciona a la perfección y hasta creo haberlo entendido. Muchísimas gracias. Me has ahorrado un montón de trabajo. Gracias! Gracias! Gracias! :D
Crubio
Miembro Nuevo
Miembro Nuevo
 
Mensajes: 3
Registrado: 11 Ene 2018 06:57


Volver a Macros

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 5 invitados