Cómo juntar en una hoja el código de otra hoja de otro libro distinto y que funcionen los 2 códigos?
Publicado por celia (437 intervenciones) el 05/04/2019 05:27:09
Hola a todos
Tengo 2 códigos VBA en 2 libros distintos y no sé qué lógica se usa para poder unirlos en una sola hoja y que funcione todo. Me ha pasado más veces que no consigo unirlos y pruebo a pegar uno delante, a pegarlo detrás, a cortar alguna línea repetida, pero no consigo nada.
Tengo el libro1 con su Hoja1 y el libro2 con su Hoja9.
--------------Este es código de la Hoja1:
-------------Y este el código de la Hoja9 del otro libro:
Tengo 2 códigos VBA en 2 libros distintos y no sé qué lógica se usa para poder unirlos en una sola hoja y que funcione todo. Me ha pasado más veces que no consigo unirlos y pruebo a pegar uno delante, a pegarlo detrás, a cortar alguna línea repetida, pero no consigo nada.
Tengo el libro1 con su Hoja1 y el libro2 con su Hoja9.
--------------Este es código de la Hoja1:
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
33
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim F1 As Long, C1 As Long, F2 As Long, C2 As Long
On Error GoTo Worksheet_SelectionChange_Err
If Target.Cells.Count = 1 Then 'Solo está seleccionada una celda
F1 = CeldaAnterior.Row
C1 = CeldaAnterior.Column
F2 = Target.Row
C2 = Target.Column
If Abs(C1 - C2) + Abs(F1 - F2) > 1 Then 'Si nos movemos más de una celda
Set CeldaAnterior = Target
ElseIf C1 - C2 = 1 Then 'Si nos hemos desplazado una columna a la izquierda
'hemos pulsado flecha izquierda
CeldaAnterior.Activate 'Volvemos a la celda
Range("B5") = Range("B5") - 1 'restamos 1 a la celda B5
ElseIf C2 - C1 = 1 Then 'Si nos hemos desplazado una columna a la derecha
'hemos pulsado flecha derecha
CeldaAnterior.Activate
Range("B5") = Range("B5") + 1 'sumamos 1 a la celda B5
ElseIf F1 - F2 = 1 Then 'Si nos hemos desplazado una fila arriba
'hemos pulsado flecha arriba
CeldaAnterior.Activate
Range("B4") = Range("B4") + 1 '
ElseIf F2 - F1 = 1 Then 'Si nos hemos desplazado una fila abajo
'hemos pulsado flecha abajo
CeldaAnterior.Activate
Range("B4") = Range("B4") - 1 'restamos
Else 'Este caso no creo que se dé.
Set CeldaAnterior = Target
End If
End If
Worksheet_SelectionChange_Err:
End Sub
-------------Y este el código de la Hoja9 del otro libro:
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
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.Speech.SpeakCellOnEnter = Target.Address = "$S$23"
Dim Lin As Integer, Col As Integer, Salir As Boolean
Dim Fila_Destin As Long, f As Long, Texto As String, _
Colu_Destin As Long, c As Long
Col = Target.Column: Application.EnableEvents = False
Fil = Target.Row
If Col >= 18 And Col <= 30 And Fil >= 3 And Fil <= 15 Then Cells(19, 19) = Target.Value
If Col = 13 And Fil = 10 Then
Fila_Destin = 2
Colu_Destin = 32: Texto = Cells(10, "M"): Salir = False
For Fil = 42 To 42 Step 15
For Col = 37 To 1086 Step 14
If Texto = Cells(Fil, Col) Then
For f = 0 To 0
For c = 0 To 13
Cells(f + Fila_Destin, c + Colu_Destin) = Cells(f + Fil, c + Col)
Next
Next
Salir = True: Exit For
End If
Next
If Salir = True Then Exit For
Next
End If
Application.EnableEvents = True
End Sub
Valora esta pregunta
0