/ / Actualización de una hoja de trabajo maestra que cambia automáticamente otras hojas de trabajo: excel, vba, excel-vba

Actualización de una hoja de trabajo maestra que cambia automáticamente otras hojas de cálculo: excel, vba, excel-vba

Tengo una hoja de trabajo central con todos los datos en varias tablas. Digamos que tengo la Tabla A, B, C y D, todo en una hoja de trabajo central.

En las otras tres hojas de trabajo, tengo la Tabla B en la Hoja de trabajo 2, la Tabla C en la Hoja de trabajo 3 y la Tabla D en la Hoja de trabajo 4.

Lo que he intentado es insertar un botón de comando desde la pestaña Desarrolladores en la hoja de trabajo maestra (central) y luego insertar este código:

    Private Sub CommandButton1_Click()
Sub copyAOne()
Dim ws As Worksheet
Dim newValue As Range
Set newValue = ActiveSheet.Range("A1")
For Each ws In Worksheets
ws.Range("A1") = newValue
Next ws
End Sub

Respuestas

1 para la respuesta № 1

Esto es algo para comenzar:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, [tableA]) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub

Dim wkb As Workbook
Set wkb = Workbooks.Open("C:DesktopTest2.xlsm")

wkb.Worksheets(1).Cells(Target.Row, Target.Column).Value = Target.Value

wkb.Save
"wkb.Close

End Sub

Necesitas lo siguiente:

  • tablaA en la corriente Worksheet
  • Test2.xlsm
  • Debe poner el código en la Hoja de trabajo, no en el módulo.
  • Probablemente no funcionaría exactamente como se esperaba, pero la idea principal es esta.
  • Asegúrese de cerrar "C: DesktopTest2.xlsm" antes de ejecutar el archivo.

Pon el código allí: enter image description here

Y, en general, si desea hacerlo con un botón, y no con un evento, esto es algo que podría usar:

Option Explicit

Public Sub TestMe()

Dim wkb As Workbook
Set wkb = Workbooks.Open("C:UsersDesktopTest2.xlsm")

ThisWorkbook.Worksheets(1).Range("A1:D16").Copy
wkb.Worksheets(1).Range("A1:D16").PasteSpecial xlPasteValues
Application.CutCopyMode = False

wkb.Save
"wkb.Close

End Sub