在 Excel 中我有一组每天变化的数据,我们将其称为“daily_data”。
我需要将这些数据复制并粘贴到相应的星期几字段中。手动操作很容易,但我每天都要运行几份这样的报告。
我正在尝试使这个过程自动化。
例如,我打开文件,它显示了星期一的 daily_data 信息。我希望它将这些数据复制并粘贴到星期一的静态字段中,同时将星期二到星期五留空。然后第二天它显示星期二的 daily_data。我希望它将数据复制到星期二的静态字段中,同时将星期三到星期五保留原样。所以现在我可以看到星期一和星期二的数据。依此类推,直到本周剩余时间。(我觉得我的描述有点过了。只是想说清楚)。
如果我可以跳过每天将所有 daily_data 字段复制并粘贴到相应日期的步骤,那么我就可以节省大量时间。
答案1
您可以使用 VBA 宏来实现这一点,该宏将输入列中的值复制到根据当前星期几选择的列。然后只需将宏绑定到打开事件即可。
我们假设这里显示的布局:
Private Sub Workbook_Open()
columnOffset = 2
dow = Weekday(Now, vbMonday)
col = dow + columnOffset
' If data already exists, don't do anything
If Cells(2, col).Value = "" Then
' Copy the first column except the first cell
Intersect(Columns(1), UsedRange.Offset(1)).Copy Cells(2, col)
End If
End Sub