![](/img/trans.png)
[英]Copy a range of cells based on a value and insert them on another sheet
[英]Insert range of cells to another sheet
我有一个工作表,该工作表的范围是从扫描仪获取的数字(扫描仪在使用后将数字放在该范围内),具有诸如序列号和日期(从B9到C20)的信息,以及一个表示零件编号的单元格(L2) 。 使用按钮(带有宏的打印按钮)打印此数据后,将使用一个用于擦除该范围数据的按钮。 我想做的是在擦除按钮中有一个宏,每次按下该按钮时,该宏就会将数据从单元格和L2的范围复制到另一张纸上,并为此创建一个数据库。 以下是带有信息的表。
这是我当前的代码:
Sub Test()
Dim the_sheet As Worksheet
Dim table_list_object As ListObject
Dim table_object_row As ListRow
Set the_sheet = Sheets("Base de datos")
Set table_list_object = Sheets("Base de datos").ListObjects("table1")
Set table_object_row = table_list_object.ListRows.Add
last_row_with_data = the_sheet.Range("A65536").End(xlUp).Row
the_sheet.Range("A" & last_row_with_data) = ActiveSheet.Range("B9:B20")
the_sheet.Range("B" & last_row_with_data) = ActiveSheet.Range("C9:C20")
' the_sheet.Range("C" & last_row_with_data) = ActiveSheet.Range("L2")
' the_sheet.Range("D" & last_row_with_data) = ActiveSheet.Range("L3")
End Sub
您可能需要修改此设置以适合您的需求,因为我不确定自己的标准是什么,但这应该可以帮助您入门! 首先,创建一个名为“数据库”的工作表。 我假设您的复印范围是静态的。 如果范围不是静态的,则可以“取消注释”代码的“ RCount”部分,并进行修改以设置动态复制范围。
当前,该代码将复制您的范围(B9:M20),并将其粘贴到Col A上最后一个可用行的名为“数据库”的新表上。
为了清除表格,我将在标题下方创建另一个宏(您可以只记录一个),标题为“ Macro_Title”。 在“结束子”之前
Call Macro_Title
宏
Public Sub Wow()
'Declare Variables
Dim wsOrigin As Worksheet
Dim wsDataBase As Worksheet
Set wsOrigin = Thisworkbook.Sheets("Base de datos")
Set wsDataBase = Thisworkbook.Sheets("Database")
Application.ScreenUpdating = False
'Copy/Special Paste Desired Data
Dim COPYME As Range
'Dim RCount As Integer
Dim RCount2 As Integer
'RCount = wsOrigin.Range("L" & wsOrigin.Rows.Count).End(xlUp).Row
RCount2 = wsDataBase.Range("A" & wsDataBase.Rows.Count).End(xlUp).Row
Set COPYME = wsOrigin.Range("B9:M20))
COPYME.Copy
wsDataBase.Range("A" & RCount2 + 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.ScreenUpdating = True
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.