¿ACOPLAR? MACROSo FUNCIONES
Publicado por Jose (80 intervenciones) el 26/06/2019 21:44:57
Buenas tardes,
Antes de nada deseo agradecer vuestra paciencia y la ayuda que me aportays para finalizar este trabajo.
Estoy trabajando en un libro de excel que tiene 3 hojas.
Con vuestra ayuda he conseguido maquetar parte del trabajo que pretendo finalizar.
Ahorra estoy estancado porque a las macros abajo indicados:
No consigo añadir la siguiente función:
Adjunto el trabajo para corregir el error que cometo.
Perdonar mi torpeza.
Gracias.
Saludos,
Jose
Antes de nada deseo agradecer vuestra paciencia y la ayuda que me aportays para finalizar este trabajo.
Estoy trabajando en un libro de excel que tiene 3 hojas.
Con vuestra ayuda he conseguido maquetar parte del trabajo que pretendo finalizar.
Ahorra estoy estancado porque a las macros abajo indicados:
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
Sub CheckBox1()
' Habitaciones
If Range("A1").Value = "Falso" Then
ActiveSheet.Rows("15:33").EntireRow.Hidden = True
Else
ActiveSheet.Rows("15:33").EntireRow.Hidden = False
End If
End Sub
Sub CheckBox7()
' Servcio extra de comedor
If Range("A2").Value = "Falso" Then
ActiveSheet.Rows("33:41").EntireRow.Hidden = True
Else
ActiveSheet.Rows("33:41").EntireRow.Hidden = False
End If
End Sub
Sub CheckBox9()
' Alquiler sala
If Range("A3").Value = "Falso" Then
ActiveSheet.Rows("42:45").EntireRow.Hidden = True
Else
ActiveSheet.Rows("42:45").EntireRow.Hidden = False
End If
End Sub
Sub CheckBox12()
' Coffee break
If Range("A4").Value = "Falso" Then
ActiveSheet.Rows("46:51").EntireRow.Hidden = True
Else
ActiveSheet.Rows("46:51").EntireRow.Hidden = False
End If
End Sub
Sub Macro2()
Dim Fila As Long, H1 As Worksheet, H2 As Worksheet
'--
Application.ScreenUpdating = False 'Evita el parpadeo
Set H1 = Sheets("Sheet1")
Set H2 = Sheets("Sheet2")
'--
Fila = H2.Range("A" & Rows.Count).End(xlUp).Row + 1
H2.Range("A" & Fila) = H1.Range("K7")
H2.Range("F" & Fila) = H1.Range("B2")
H2.Range("G" & Fila) = H1.Range("I4")
H2.Range("H" & Fila) = H1.Range("K5")
H2.Range("I" & Fila) = H1.Range("C7")
H2.Range("A4:K" & Fila).Sort Key1:=H2.Columns("A")
H1.Range("B2:K2").ClearContents
H1.Range("C7:I7").ClearContents
H1.Range("K7").ClearContents
H1.Range("B2").Select
End Sub
No consigo añadir la siguiente función:
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
34
35
36
37
38
39
40
41
42
43
44
Option Explicit
Public Anterior As String
'Private Sub Worksheet_Change(ByVal Target As Range)
' MsgBox "Worksheet_Change"
'End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Celda(4) As String, Datos(4) As String, _
Texto(4) As String, a As Byte
Celda(1) = "$B$2:$K$2"
Celda(2) = "$C$7:$I$7"
Celda(3) = "$K$7"
Celda(4) = "$C$8:$H$8"
Datos(1) = "B2"
Datos(2) = "CT"
Datos(3) = "K7"
Datos(4) = "CO"
Texto(1) = "Pon aquí en nombre (celdas combinadas)"
Texto(2) = "Indica la edad"
Texto(3) = "Indica sexo"
Texto(4) = "celdas combinadas"
For a = 1 To 4
If Anterior = Celda(a) Then
If Range(Datos(a)) = "" Then
Range(Datos(a)) = Texto(a)
End If
End If
If Target.Address = Celda(a) Then
If Range(Datos(a)) = Texto(a) Then
Application.EnableEvents = False: Range(Datos(a)) = ""
Application.EnableEvents = True
End If
End If
Next
Anterior = Target.Address
End Sub
Adjunto el trabajo para corregir el error que cometo.
Perdonar mi torpeza.
Gracias.
Saludos,
Jose
Valora esta pregunta
0