24小时后自动冻结一列或多行

时间:2014-07-02 12:33:42

标签: excel excel-vba vba

我想根据时区冻结列或行(以可能的为准)。这意味着我想在一天从1jan更改为2jan之后自动冻结列或行与特定日期等等。

样本数据如下[输入的数据(行或列)被冻结,当天越过,第二天打开]。 (很难添加图像,因为我需要10分才能做到这一点。)

请建议。

感谢。

样本数据如下:

日期abc123 def223 ad df 30/06/2014你好,请假(忘了进入) 2014年1月7日(忘记输入)嗨(忘记输入)做 2014年2月7日
3/7/2014

date 30/06/2014 1/7/2014 2/7/2014 3/7/2014 abc123你好(忘记输入)
def223离开时你好 ad hi(忘记输入)
df(忘了进入)做

1 个答案:

答案 0 :(得分:0)

Sub Test()

Dim Tdate As Date
Dim DateRow As Long, FCol As Long

Tdate = Format(Date, "dd/mm/yyyy")

DateRow = 3 'Number that your dates are on (in row)

FCol = Sheets("Sheet1").Cells(DateRow, 1).EntireRow.Find(What:=Tdate, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False).Column

Columns(FCol).Offset(0, 1).Select

ActiveWindow.FreezePanes = True

End Sub

这将搜索您指定的行(Tdate)以获取今天的日期。如果找到,它将冻结窗格,以便该列是冻结窗格中包含的最后一列。请注意,这将使所有东西都保持冻结状态。如果您每天都在进行添加,那么就不太理想,因为您最终会在冻结窗格中结束所有前几天。但这就是我从你的问题中得到的全部。

请根据需要编辑和使用