一、问题描述
需求:在“信息录入”表中输入姓名、部门、身份证,点击“确认”,使信息自动录入到信息汇总的“引用表”中。
问题:录制宏时,按照三的视频教程,在第一格按下ctrl+下箭头跳到最后一格的过程没有被记录在代码中,导致录入信息的时,不能实现自动找到最后一格录入信息,会出现下图的现象。
二、解决方法
原代码:
修改方法:把其中ActiveCell.0ffset(1.0).Range( Al ).Select改为Range("B2").End(xlDown).0ffset(1, 0).Range("A1"). Select即可。
涉及知识:
ActiveCell:当前活动单元格。
Range("A1"):指第1行,第A列的单元格。(语句中的活动单元格经过偏移后的单元格就被定义为第1行,第A列)。
xIToDown:返回最下端的单元格;
xIToLeft返回最左端的单元格;
xlToRight返回最右端的单元格;
xIToUp返回最上端的单元格。
修改后的代码:
Sub 输入()
'
' 输入 Macro
' 宏由 l22100292 录制,时间: 2025/05/29
''Range("C2,C4,C6").SelectRange("C6").ActivateSelection.CopySheets("引用表").ActivateRange("B2").End(xlDown).Offset(1, 0).Range("A1").SelectSelection.PasteSpecial Paste:=xlPasteValues, Operation:=xlPasteSpecialOperationNone, SkipBlanks:=False, Transpose:=TrueActiveCell.SelectSheets("信息录入").ActivateRange("C2").SelectApplication.CutCopyMode = FalseSelection.Formula = ""Range("C4").SelectSelection.Formula = ""Range("C6").SelectSelection.Formula = ""Range("C2").Select
End Sub
运行效果:
三、学习视频
录制宏基础教程https://www.bilibili.com/video/BV1ax4y1V7qi?spm_id_from=333.788.videopod.episodes&vd_source=841fee104972680a6cac4dbdbf144b50&p=2