0
我一直在互联网上搜索哪里可以找到以下的最有效,最简单的方法:如何根据单个单元格中的文本移动整行?
我有一个包含3张电子表格:
- 信息
- 培训
- 离校生
在信息表中,B列包含有条件格式的验证文本。有两个验证选项:
- 活动
- 利弗
我想,一旦单元格的值从“积极”到“利弗”改变整个行会从纸张清除并转移到'莱弗的表。
我已经使用了下面的代码,它的工作原理,但是如果没有离开者,它将传输'active'的第一行。谁能告诉我有什么问题?
Sub AlexR688(x)
'For http://www.mrexcel.com/forum/excel-q...ific-text.html
'Using autofilter to Copy rows that contain centain text to a sheet called Errors
Dim LR As Long
Range("B2").EntireRow.Insert Shift:=xlDown
LR = Sheets("Personal Information").Cells(Rows.Count, "B").End(xlUp).Row
LR1 = Sheets("Leavers").Cells(Rows.Count, "B").End(xlUp).Row + 1
With Sheets("Personal Informaiton").Range("B2:C" & LR)
.AutoFilter
.AutoFilter Field:=1, Criteria1:="Leaver", _
Operator:=xlOr, Criteria2:=":Leaver"
.SpecialCells(xlCellTypeVisible).EntireRow.Copy Destination:=Sheets("Leavers").Range("A" & LR1)
.SpecialCells(xlCellTypeVisible).EntireRow.Delete
End With
End Sub
其次,我想在'培训'表中做同样的事情。但是在那里,B列包含了与个人信息相关的“主动”,“离开者”。所以,一旦个人信息表栏B从'活跃'变为'离职',培训表也会改变,但我想要删除培训表中的行。第三,如果我不小心将个人信息表中的行移动到了Leavers表,是否有可能通过选择返回到“活动”单元格值,该行将移回原来的位置?
非常感谢。希望它很清楚。
当和什么触发你使用子?你有一个按钮或什么? – Blenikos
我创建了一个按钮,因为我不知道如何自动化它。如果单元格值从“活动”更改为“离线” – Simas
vba是事件驱动型语言。为了通过运行一些代码来自动化某些东西,您需要发生一个事件。在这里,您没有表单控件,以便触发事件。所以,你将需要一个组合框或其他东西,并使用它的一个属性(如改变属性)来触发你的功能。否则,你想要的东西不能发生! – Blenikos