如何使用 vba 代码在列表中记录条件数据?
How can i record conditional data in a list with vba code?
关注此创作:How to register an order in a line below the last line with data?
目前,我需要按公司离职。我有以下代码:
Sheets("Lista CA").Select
Range("B8:D8").Select
ActiveCell.FormulaR1C1 = _
"=IF(Meal_register!R8C11=""CA"",Meal_register!R6C3,"""")"
Range("E8:I8").Select
ActiveCell.FormulaR1C1 = _
"=IF(Meal_register!R8C11=""CA"",Meal_register!R9C3,"""")"
Range("P8:Q8").Select
我只需要注册“编号”、“名称”和“值”即可。但是,如果在sheet“Meal Register”公司=AA,必须在sheet“List AA”注册;如果公司=BB,则必须在sheet“列表BB”中注册,如果公司=CC,则必须在sheet“列表CC”中注册。应在最后一行数据后的行中注册
List AA, List BB 和 List CC 布局相同
]1
我在“用餐登记”处的输出是:
在这种情况下,由于员工来自AA公司,他将在“AA列表”中注册:
要将数据从“膳食登记”页面保存到正确的 sheet,您需要这样的东西。我在这里输入 VBA ,所以它没有经过测试,但你应该看到这个过程。该示例假设膳食登记器处于活动状态 sheet
您一定要在单元格 K9 上设置 data validation 以确保您的公司名称输入正确。
dim s as worksheet
set s = thisworkbook.worksheets("List_" & range("K9").value)
dim row as long
row = s.cells(s.rows.count, "B").end(xlup).row + 1
s.cells(row,"B").value = range("C7").value
s.cells(row,"E").value = range("C9").value
s.cells(row,"P").value = range("Q21").value
s.cells(row,"S").value = range("Q3").value
关注此创作:How to register an order in a line below the last line with data?
目前,我需要按公司离职。我有以下代码:
Sheets("Lista CA").Select
Range("B8:D8").Select
ActiveCell.FormulaR1C1 = _
"=IF(Meal_register!R8C11=""CA"",Meal_register!R6C3,"""")"
Range("E8:I8").Select
ActiveCell.FormulaR1C1 = _
"=IF(Meal_register!R8C11=""CA"",Meal_register!R9C3,"""")"
Range("P8:Q8").Select
我只需要注册“编号”、“名称”和“值”即可。但是,如果在sheet“Meal Register”公司=AA,必须在sheet“List AA”注册;如果公司=BB,则必须在sheet“列表BB”中注册,如果公司=CC,则必须在sheet“列表CC”中注册。应在最后一行数据后的行中注册 List AA, List BB 和 List CC 布局相同
我在“用餐登记”处的输出是:
在这种情况下,由于员工来自AA公司,他将在“AA列表”中注册:
要将数据从“膳食登记”页面保存到正确的 sheet,您需要这样的东西。我在这里输入 VBA ,所以它没有经过测试,但你应该看到这个过程。该示例假设膳食登记器处于活动状态 sheet
您一定要在单元格 K9 上设置 data validation 以确保您的公司名称输入正确。
dim s as worksheet
set s = thisworkbook.worksheets("List_" & range("K9").value)
dim row as long
row = s.cells(s.rows.count, "B").end(xlup).row + 1
s.cells(row,"B").value = range("C7").value
s.cells(row,"E").value = range("C9").value
s.cells(row,"P").value = range("Q21").value
s.cells(row,"S").value = range("Q3").value