Копирование ячеек из ActiveCell Его к базе данных листу с помощью VBA в Microsoft Excel
В Microsoft Excel мы можем копировать ячейки из строки activecell на определенный лист. В этой статье мы будем использовать код VBA для передачи данных с каждого листа и объединения данных в один рабочий лист. Мы добавим мастер-лист в книгу и сохраним данные из указанного диапазона на одном листе .
_Эти коды будут скопированы на лист базы данных с именем Sheet2.
Каждый раз, когда мы запускаем макрос, ячейки будут размещаться под последней строкой с данными после последнего столбца в листе 2. Этот макрос скопирует ячейки из столбцов A, D из ActiveCell._
Ниже приведено изображение примера данных:
Чтобы скопировать ячейки из строки 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. Данные, хранящиеся в указанном диапазоне, будут скопированы в «Sheet2», начиная с A1
-
Если мы снова запустим этот макрос; данные будут сохранены в следующей строке; см. изображение ниже:
Мы можем изменить диапазон в приведенном выше макросе, который соответствует нашим требованиям. Заключение: * С помощью указанного выше макроса мы можем копировать ячейки из строки activecell на новый лист, используя код VBA.
Если вам понравились наши блоги, поделитесь ими с друзьями на Facebook. А также вы можете подписаться на нас в Twitter и Facebook .
Мы будем рады услышать от вас, дайте нам знать, как мы можем улучшить, дополнить или усовершенствовать нашу работу и сделать ее лучше для вас. Напишите нам на [email protected]