我是新来的,没有太多经验。 我非常感谢您提供的任何建议。
我有一个二维数组,代表计划在特定日期工作的员工。数据如下所示,其中“Staff”是缩写,例如 KLK 或 SAS:
12/30/2024 12/31/2024 1/1/2025 1/2/2025 etc...
Staff Staff
Staff Staff
Staff Staff
Staff
Staff
我想清理数组,例如包含员工姓名的日期,删除所有空白单元格并将员工姓名移动到列的顶部。一旦我确定了包含数据的列,我就无法弄清楚如何设置“干净”的范围。 对于前。如果我到达第四列并且它有人员条目,我想设置一个范围 D2:D25 来清理。
For J = 1 to End_Of_Quarter
For i = 1 to Category_Limit 'On each date check to see if column is empty
If (Cells(i,j).Value <> "" Then
Counter = Counter + 1
End If
Next i
If Counter < Category_Limit 'Column is not empty. If column is empty want to move on to next column
'Want to set up Range "Staff" and clean it up.
Range(Staff).SpecialCells(xlCellTypeBlanks).Delete shift:=xlUp
End If
Next J
提前感谢您抽出时间回答。
我确实尝试过使用命令 Range(Staff).SpecialCells(xlCellTypeBlanks).删除shift:=xlUp 整个数组,但 Excel 将空白列解释为要删除的数据。 我需要代码来跳过空白列。
也许是这样的:
Sub CleanUpColumns()
Dim rngData As Range, col As Range
Set rngData = ActiveSheet.Range("A1:D6") 'your data table
For Each col In rngData.Columns 'check each column
col.SpecialCells(xlCellTypeBlanks).Delete shift:=xlShiftUp
Next col
End Sub