В Microsoft Excel мы можем копировать ячейки из строки activecell на определенный лист. В этой статье мы будем использовать код VBA для передачи данных с каждого листа и объединения данных в один рабочий лист. Мы добавим мастер-лист в книгу и сохраним данные из указанного диапазона на одном листе .

_Эти коды будут скопированы на лист базы данных с именем Sheet2.

Каждый раз, когда мы запускаем макрос, ячейки будут размещаться под последней строкой с данными после последнего столбца в листе 2. Этот макрос скопирует ячейки из столбцов A, D из ActiveCell._

Ниже приведено изображение примера данных:

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. Данные, хранящиеся в указанном диапазоне, будут скопированы в «Sheet2», начиная с A1

image 6

  • Если мы снова запустим этот макрос; данные будут сохранены в следующей строке; см. изображение ниже:

image 7

Мы можем изменить диапазон в приведенном выше макросе, который соответствует нашим требованиям. Заключение: * С помощью указанного выше макроса мы можем копировать ячейки из строки activecell на новый лист, используя код VBA.

image 48

Если вам понравились наши блоги, поделитесь ими с друзьями на Facebook. А также вы можете подписаться на нас в Twitter и Facebook .

Мы будем рады услышать от вас, дайте нам знать, как мы можем улучшить, дополнить или усовершенствовать нашу работу и сделать ее лучше для вас. Напишите нам на [email protected]