在Microsoft Excel中,我们可以将单元格从活动单元格行复制到特定工作表。在本文中,我们将使用VBA代码从每个工作表传输数据并将数据合并到一个工作表中。我们将在工作簿中添加一个母版表,并将指定范围内的数据保存到一张表中。

_示例代码将复制到名称为Sheet2的数据库表中。

每次运行宏时,单元格都将被放置在最后一行的下面,数据在sheet2的最后一列之后。此宏将从ActiveCell复制A,D列中的单元格。_

以下是示例数据的图像:

image 1

将单元格从activecell行复制到Sheet2;我们需要按照以下步骤启动VB编辑器:

单击“开发人员”选项卡。从“代码”组中选择“ Visual Basic”

image 2

===

  • 单击插入,然后单击模块

image 3

这将创建新模块在标准模块中输入以下代码

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

image 4

image 5

===

检查上面的VBA代码;在“ A1:D1”范围内添加数据,然后按F5快捷键运行宏。存储在指定范围内的数据将从A1开始复制到“ Sheet2”

image 6

| *如果我们再次运行此宏;数据将保存在下一行中;请参考下图:

image 7

我们可以在上面的宏中更改适合我们需求的范围结论:*通过上面的宏,我们可以使用VBA代码将单元格从活动单元格行复制到新工作表。

image 48

如果您喜欢我们的博客,请在Facebook上与您的朋友分享。您也可以在Twitter和Facebook上关注我们。

我们很高兴收到您的来信,请让我们知道我们如何改进,补充或创新我们的工作,并为您做得更好。写信给我们[email protected]