在同一个excel中,有表格sheet1,sheet2两个表:
单击sheet1的单元格A1,输入等于号
切换到sheet2表,单击sheet2的单元格B1(也就是你想引用的数据),再按Enter键
sheet1的单元格 A1显示的就是shee2表的B1的值了。
如下图所示:
Private Sub 录入後请按保存_Click()
Dim InputArea As String
Dim OutputArea As String
Dim InputSheet As String
Dim OutputSheet As String
InputSheet = "Sheet1"
OutputSheet = "Sheet2"
InputArea = "A1:D1" '输入区域为A1:D1
OutputColumn = 1
'找到B列中没有值的位置
With Worksheets(OutputSheet)
LastRow = .Cells(65535, OutputColumn).End(xlUp).Row
' If .Cells(LastRow, OutputColumn).Value = "" Then
' .Cells(LastRow, OutputColumn).Value = Worksheets(InputSheet).Range(InputArea).Value
' Else
' .Cells(LastRow + 1, OutputColumn).Value = Worksheets(InputSheet).Range(InputArea).Value
' End If
If .Cells(LastRow, OutputColumn).Value <> "" Then
LastRow = LastRow + 1
End If
Worksheets(InputSheet).Range(InputArea).Copy Destination:=Worksheets(OutputSheet).Cells(LastRow, OutputColumn) '将输入区域复制到Sheet2的空行
End With
End Sub
好像不需要那么复杂,以下是我写的一个宏,可以实现你的要求。你可以试一下。
Sub savesheet1()
Application.ScreenUpdating = False '//关闭屏幕刷新
Dim i As Integer
i = 1
WhileSheets("sheet2").Range("A" & i) &Sheets("sheet2").Range("B" & i) &Sheets("sheet2").Range("C" & i) &Sheets("sheet2").Range("D" & i) <> ""
i= i + 1
Wend
Sheets("sheet1").Range("A1:D1").Copy
Sheets("sheet2").Range("A"& i).PasteSpecial
Application.ScreenUpdating = True '//关闭屏幕刷新
End Sub