我有一张纸张,其范围包含从扫描仪获得的数字(扫描仪在使用后将数字放在该范围内),其中包含序列号和日期(从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
答案 0 :(得分:1)
您可能需要对此进行修改以满足您的需求,因为我不完全确定您的标准是什么,但这应该让您开始!首先,创建一个名为"数据库的工作表。"我假设您的副本范围是静态的。如果范围不是静态的,您可以"取消评论" " RCount"部分代码并修改以设置动态复制范围。
目前,代码将复制您的范围(B9:M20)并将其粘贴到名为"数据库"在Col A的最后一行。
要清除你的桌子,我会在下面创建另一个宏(你可以只记录一个),标题为#34; 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