在Excel 表1一个固定的地方做数据输入,在表2中记录数据。当表1有数据输入时,自动保存到表2第一行中

当表1的数据重新输入时,自动保存到表2下一行中... 当表1的数据重新输入时,自动保存到表2下一行中 展开
 我来答
百度网友fc21517
2013-06-17 · TA获得超过582个赞
知道小有建树答主
回答量:287
采纳率:50%
帮助的人:191万
展开全部
简单啊。如果你没有重命名过表,那就是sheet1 sheet2。你要让sheet2的某一格自动添加为sheet1中的某一格,那sheet2中输入的就应该是:=sheet1!XX 。XX表示的是表格中的那一行数据的序列号。比如说哈,表2中,A6格的数据应该是表中C4格的数据,那么,你就在表2 A6中输入:=sheet1!c4
百度网友1c04a7f
2013-06-17
知道答主
回答量:17
采纳率:0%
帮助的人:10.6万
展开全部
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer, r As Integer, c As Integer, d As String
If Target.Areas.Count > 1 Or Target.Areas(1).Count > 1 Then

MsgBox "只能对一个单元格进行修改!"

Exit Sub

End If

If Target.Row <> 1 Then Exit Sub
d= num2letter(Target.Column)

If d = "" Then Exit Sub

i = Sheet2.Range(d & 65536).End(xlUp).Row
If i = 1 And Len(Sheet2.Cells(1, Target.Column)) = 0 Then i = 0
Sheet2.Cells(i + 1, Target.Column) = Cells(Target.Row, Target.Column)

End Sub

Function num2letter(n As Integer) As String
If n >= 1 And n <= 256 Then
num2letter = IIf(n < 26, Mid(Cells(1, n).Address, 2, 1), Mid(Cells(1, n).Address, 2, 2))
Else
num2letter = ""
End If
End Function
你放到开发工具>Visual Studio>Sheet1下试试,修改sheet1下的第一行任何一列的数据,在sheet2中都会记录下来,同时会记录修改历史。
更多追问追答
追问
不知是不是我不会弄,提示有错误。
追答
把你QQ号给我,我给你看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
HYjNever
2013-06-17 · TA获得超过2.4万个赞
知道大有可为答主
回答量:3143
采纳率:81%
帮助的人:774万
展开全部
用公式无法实现。只有VBA。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式