|
你这叫"下一步",确实需要代码支持.
大概做了一下.当根据有效性选择下一个表时,会把当前拷贝过去(本来想用值的,但有效性会丢失),同时删除当前单元格的有效性,避免多次重置(其实如果输入指定表的名称,也能实现拷贝).
由于使用了事件,因此平时在拷贝第4列时,要注意,可能会被转到指定工作表,避免的方法,就是选择2个以上的单元格一起复制.即:target.cells.count>=2,就不触发该事件.
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Target.Value = Sh.Name Then Exit Sub
Dim tmpS As String, shT As Worksheet, tmpR As Range
On Error Resume Next
Set shT = Worksheets(Target.Value)
If Not shT Is Nothing Then
Set tmpR = Target.Offset(0, -3).Resize(1, 4)
tmpR.Copy
Application.EnableEvents = False
shT.Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial xlPasteAll
tmpS = Target.Value
Target.Clear
Target.Value = tmpS
Application.EnableEvents = True
End If
End Sub
|
|