复制从ActiveCell行单元格在Microsoft Excel中使用VBA数据库表
在Microsoft Excel中,我们可以将单元格从活动单元格行复制到特定工作表。在本文中,我们将使用VBA代码从每个工作表传输数据并将数据合并到一个工作表中。我们将在工作簿中添加一个母版表,并将指定范围内的数据保存到一张表中。
_示例代码将复制到名称为Sheet2的数据库表中。
每次运行宏时,单元格都将被放置在最后一行的下面,数据在sheet2的最后一列之后。此宏将从ActiveCell复制A,D列中的单元格。_
以下是示例数据的图像:
将单元格从activecell行复制到Sheet2;我们需要按照以下步骤启动VB编辑器:
单击“开发人员”选项卡。从“代码”组中选择“ Visual Basic”
===
-
单击插入,然后单击模块
这将创建新模块在标准模块中输入以下代码
Sub CopyCells() Dim sourceRange As Range Dim destrange As Range Dim Lr As Long Lr = LastRow(Sheets("Sheet2")) + 1 Set sourceRange = Sheets("Sheet1").Cells( _ ActiveCell.Row, 1).Range("A1:D1") Set destrange = Sheets("Sheet2").Range("A" & Lr) sourceRange.Copy destrange End Sub
Sub CopyCellsValues() Dim sourceRange As Range Dim destrange As Range Dim Lr As Long Lr = LastRow(Sheets("Sheet2")) + 1 Set sourceRange = Sheets("Sheet1").Cells( _ ActiveCell.Row, 1).Range("A1:D1") With sourceRange Set destrange = Sheets("Sheet2").Range("A" _ & Lr).Resize(.Rows.Count, .Columns.Count) End With destrange.Value = sourceRange.Value End Sub
Function LastRow(sh As Worksheet) On Error Resume Next LastRow = sh.Cells.Find(What:="*", _ After:=sh.Range("A1"), _ Lookat:=xlPart, _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious, _ MatchCase:=False).Row On Error GoTo 0 End Function
Function Lastcol(sh As Worksheet) On Error Resume Next Lastcol = sh.Cells.Find(What:="*", _ After:=sh.Range("A1"), _ Lookat:=xlPart, _ LookIn:=xlFormulas, _ SearchOrder:=xlByColumns, _ SearchDirection:=xlPrevious, _ MatchCase:=False).Column On Error GoTo 0 End Function
===
检查上面的VBA代码;在“ A1:D1”范围内添加数据,然后按F5快捷键运行宏。存储在指定范围内的数据将从A1开始复制到“ Sheet2”
| *如果我们再次运行此宏;数据将保存在下一行中;请参考下图:
我们可以在上面的宏中更改适合我们需求的范围结论:*通过上面的宏,我们可以使用VBA代码将单元格从活动单元格行复制到新工作表。
如果您喜欢我们的博客,请在Facebook上与您的朋友分享。您也可以在Twitter和Facebook上关注我们。
我们很高兴收到您的来信,请让我们知道我们如何改进,补充或创新我们的工作,并为您做得更好。写信给我们[email protected]