我已经创建了一个宏,但由于行在删除过程中实际发生了变化,因此它并没有真正起作用。用户选择表格中的任何#个单元格。在运行宏时,只删除属于所选单元格的那些行。这是我到目前为止所得到的:
Sub DeleteSelectedRows()
Dim Cell As Range
With Sheet1
For Each Cell In Selection
.Range(Cell.Address).EntireRow.Delete
Next Cell
End With
End Sub
非常感谢任何帮助。
答案 0 :(得分:1)
在某些(可能很少见)的情况下,用户可以按住Ctrl键并单击以选择不连续的范围。此代码将考虑这种可能性,同时仍然只删除实际选择的行:
MyDataModel
答案 1 :(得分:1)
修改集合时不要使用public List<String> b(final List<Student> students) {
List<String> result = new ArrayList<>();
for(Student student : students){
result.add(student.nameFirst);
}
return result;
}
循环,使用更简单的For Each
循环,从最后一行索引(或列索引)开始,然后返回第一个索引。
确保循环设置为For
以向后移动。向后方向是必需的,因为在Excel中,当您删除行/列时,剩余的行/列向上/向左移动,因此在第一次编辑后所有其他索引可能都是错误的。
Step -1