|
某表带(2)的数据替换到没带(2)的某表
①所有表的行数不一致 ②某表跟某表(2),列数会一致 【关于行列数不一致我是用选择A1单元格 按CTRL+A 就可以解决这个问题】
目前我弄的哪个代码行数太多了1000来行代码,因为有80多个表,可能就只有里面部分10个表,10个表其中几个带(2)要替换数据,这个能帮我优化下简洁的代码吗?我看内容都是大差不差的,差距就是表名不一致
Sub 数据替换()
If testFile("柱 (2)") Then
Sheets("柱").Activate
Range("A1").CurrentRegion.Select
Selection.Clear
Sheets("柱 (2)").Activate
Range("A1").CurrentRegion.Select
Selection.Copy
Sheets("柱").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlPasteSpecialOperationNone, SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlPasteSpecialOperationNone, SkipBlanks:=False, Transpose:=False
End If
If testFile("自定义面 (2)") Then
Sheets("自定义面").Activate
Range("A1").CurrentRegion.Select
Selection.Clear
Sheets("自定义面 (2)").Activate
Range("A1").CurrentRegion.Select
Selection.Copy
Sheets("自定义面").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlPasteSpecialOperationNone, SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlPasteSpecialOperationNone, SkipBlanks:=False, Transpose:=False
End If
If testFile("自定义贴面 (2)") Then
Sheets("自定义贴面").Activate
Range("A1").CurrentRegion.Select
Selection.Clear
Sheets("自定义贴面 (2)").Activate
Range("A1").CurrentRegion.Select
Selection.Copy
Sheets("自定义贴面").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlPasteSpecialOperationNone, SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlPasteSpecialOperationNone, SkipBlanks:=False, Transpose:=False
End If
End Sub
'判断文件是否存在
Public Function testFile(fn As String)
Dim flg As Boolean
flg = False
For i = 1 To Sheets.Count
If Sheets(i).Name = fn Then
flg = True
Exit For
End If
Next
testFile = flg
End Function
|
|