
Macro Excel - Recoger una celda de una hoja que está en el mismo libro
Publicado por Jorge (2 intervenciones) el 06/01/2015 22:28:15
Hola,
Estoy intentando hacer una macro en Excel que lo que haga es: Recoger una celda de una hoja que está en el mismo libro, de tal forma que se rellena en la hoja principal (actualiza los datos de la hoja con formulas) y lo voy guardando con el código que he recogido.
El problema lo tengo cuando pego valores para que en las sucesivas hojas no se vean las fórmulas.
Os dejo el código por si me podéis echar una mano.
Si os va mejor os lo dejo en txt
---------------------------
Estoy intentando hacer una macro en Excel que lo que haga es: Recoger una celda de una hoja que está en el mismo libro, de tal forma que se rellena en la hoja principal (actualiza los datos de la hoja con formulas) y lo voy guardando con el código que he recogido.
El problema lo tengo cuando pego valores para que en las sucesivas hojas no se vean las fórmulas.
Os dejo el código por si me podéis echar una mano.
Si os va mejor os lo dejo en txt
---------------------------
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
Sub CreacionHojasValores()
Dim i, a As Long
Dim cliente As Long
Dim TotalD As Integer
Dim ArchivoEntrada As String
Dim wb As Workbook
Application.DisplayAlerts = False
i = 1
'Contamos el numero de clientes
'Sheets("Total clientes").Select
TotalD = Sheets("Total Clientes").Range("A" & Rows.Count).End(xlUp).Row
'TotalD = Application.WorksheetFunction.CountA("A1:A9999")
'Sheets("Hoja Cliente").Select
'Ruta del archivo cerrado - fuente
' ArchivoEntrada = ActiveWorkbook.Path & "\Datos.xlsx"
'Abrir el libro fuente a través del objeto wb. Sólo lectura
' Set wb = Workbooks.Open(ActiveWorkbook.Path & "\Datos.xlsx")
'cambiamos el cliente
Range("E3").Value = Worksheets("Total clientes").Cells(i, 1)
'pegamos como valores
Range("A1:Z999").Copy
Range("A1").PasteSpecial xlPasteValues
Application.CutCopyMode = False
'eliminamos la hoja de datos
'Application.DisplayAlerts = False
Sheets("Total clientes").Select
ActiveWindow.SelectedSheets.Delete
'Application.DisplayAlerts = True
'grabamos
cadena = "\\servidor\Hoja de pedido\" & Range("E3") & ".xls"
ActiveWorkbook.SaveAs cadena, FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
'ActiveWorkbook.Close
'cerramos la hoja
'ActiveWorkbook.Close
'Workbooks.Open (ActiveWorkbook.Path & "\Macro.xlsm")
'Workbooks("Macro.xlsm").Activate
'a = Cells(3, 5) & ".xls"
'Workbooks(cadena).Close
For i = 2 To TotalD
Set wb = Workbooks.Open(ActiveWorkbook.Path & "\Macro.xlsm")
Workbooks("Macro.xlsm").Activate
Workbooks(cadena).Close
' ActiveWorkbook.Close
'Cambias el valor de la celda de cliente
'Copiar del libro cerrado el rango A1:A5 de la hoja 1 y
'pegarlo en el libro abierto en la hoja 1, en el rango "A1"
' wb.Worksheets("Total clientes").Cells(i, 1).Copy ThisWorkbook.Worksheets("Hoja Cliente").Range("E3")
Range("E3").Value = Worksheets("Total clientes").Cells(i, 1)
'pegamos como valores
Range("A1:Z999").Copy
Range("A1").PasteSpecial xlPasteValues
Application.CutCopyMode = False
'Quitamos la hoja de datos
'Application.DisplayAlerts = False
Sheets("Total clientes").Select
ActiveWindow.SelectedSheets.Delete
'Application.DisplayAlerts = True
'grabamos
cadena = "\\servidor\Hoja de pedido\" & Range("E3") & ".xls"
ActiveWorkbook.SaveAs cadena, FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
'cerramos la hoja
'ActiveWorkbook.Close
Next i
Application.DisplayAlerts = True
End Sub
Valora esta pregunta


0