我想将TableStyle应用于导入的表,但显然TableStyle不能覆盖当前存在的格式。但是当我使用.ClearFormats时,它也会清除" Date"列。
所以我决定做一个解决方法并使用.ClearFormats,但之后重新应用Date NumberFormat。我面临的唯一问题是"日期"中有一个空单元格的行。列,这使我无法使用.End(xlDown)。
关于这个问题: 如何选择标题名称等于"日期"并应用NumberFormat" dd-mm-yyyy"到整个专栏。 (PS。我无法对列号进行硬编码,因为日期可能位于下一个导入工作表的不同列中。)
答案 0 :(得分:2)
colDate = Application.Match("Date", Rows(1), 0) '<-- Assuming your header is at row 1
Columns(colDate).NumberFormat = "dd-mm-yyyy"
第一个语句获取标签&#34; Date&#34;在标题行中。第二个将Date格式设置为该列的已使用部分。
答案 1 :(得分:0)
严格回答你的问题:
With Rows(1).Find(what:="Date", LookIn:=xlValues, lookat:=xlWhole) '<--| change "1" to your actual header row index
.Parent.Range(.Cells, .Parent.Cells(.Parent.Rows.count, .Column).End(xlUp)).NumberFormat = "dd-mm-yyyy"
End With
如果您不想依赖ActiveSheet
:
With Worksheets("myTableWorksheetName").Rows(1).Find(what:="Date", LookIn:=xlValues, lookat:=xlWhole) '<--| change "myTableWorksheetName" to your actual sheet name and "1" to your actual header row index
.Parent.Range(.Cells, .Parent.Cells(.Parent.Rows.count, .Column).End(xlUp)).NumberFormat = "dd-mm-yyyy"
End With