user_sfwnu 发表于 2016-4-12 13:32:48

EXCEL VBA 有效性 同步数据源

假如一个工作簿中有N个表 每个表都有一个同样的数据源作为有效性序列下拉 控制数据输入 【有效性不能跨表取值】
取一个表【比如sheet1】作为源表 改动它 其余表的数据跟着改动
在sheet1中创建按钮 给这个按钮指定宏 代码如下
Option Explicit
Sub a131a()
Dim j
For j = 2 To Worksheets.Count
Sheets(j).Range("a1:b10").Value = Sheets(1).Range("a1:b10").Value
Next
End Sub
想同步数据 点一下按钮即可
虽然简单 但实用

user_oazpq 发表于 2016-4-12 14:52:54

如果你的工作表名称不是按照sheet1 sheet2 ... 下去的 请把要同步数据源的工作表加一个标识符 比如"S" 而其它工作表不能有这个"S"
如此 同步数据的代码如下
Sub b131b()
Dim a
Dim sht As Worksheet
Dim shtName As String
For Each sht In ActiveWorkbook.Worksheets
shtName = sht.Name
a = InStr(shtName, "S")
If a = 0 Then
sht.Range("b1:b10").Value = Worksheets("sheet1").Range("b1:b10").Value
End If
Next
End Sub

user_tpjwfwfg 发表于 2016-4-12 16:11:14

如果你的工作表名称不是按照sheet1 sheet2 ... 下去的
这句话改成
如果你不希望所有表格都同步数据源
页: [1]
查看完整版本: EXCEL VBA 有效性 同步数据源