走过路过的Excel高手请进,谢谢.

来源:百度知道 编辑:UC知道 时间:2024/06/07 23:58:43
举个例:
ABC三列分别有数如下:
A列 B列 C列
1 4 7
2 5 8
3 6 9
是一个3行3列的那么一个区域.现在要的效果是如果我在第4行输入使得:A4=10, B4=11,C4=12,那么那个3行3列的区域会变成:
A列 B列 C列
2 5 8
3 6 9
10 11 12
实质是只要第4行输入数字,第1行就消失,使得原本的第2行变成第1行,原本的第3行变成第2行,类推下去.取到一个更新的效果.怎么搞?知道弄的朋友帮帮忙.谢谢.
最好说的详细些,在哪里输入,输入什么公式等等,谢谢.

可以用vba实现。

右击工作表标签》查看代码
粘贴下面的代码即可。

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Application.EnableEvents = False
Target.Offset(-3, 0).ClearContents
Application.EnableEvents = True
End Sub

或者

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Application.EnableEvents = False
Target.Offset(-3, 0).Delete (xlUp)
Application.EnableEvents = True
End Sub

请根据需要2选1.

右键点工作表标签名称位置,选查看代码打开VBA窗口,再复制以下代码到代代码窗口中:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim arr()
If Me.Range("A4") <> Empty And Me.Range("B4") <> Empty And Me.Range("C4") <> Empty Then
arr() = Me.Range("A2:C4").Value
Range("A1:C3") = arr()
Range("A4:C4") = Empty
End If
End Sub

注意;以上代码