我从这篇文章中复制了这段代码:stack post
Sub FindColumn()
Dim rngAddress As Range
Set rngAddress = Range("A1:BZ1").Find("STVCNTY CODE Mailing")
If rngAddress Is Nothing Then
MsgBox "STVCNTY CODE Mailing column was not found."
Exit Sub
End If
Range(rngAddress, rngAddress.End(xlDown)).Select
End Sub
我似乎工作除了一个问题,它遇到一个空单元格时停止'选择'。见pic
如何修改此代码以选择整个列并将格式更改为000?
我已经完成了这项工作,我已经认为我所寻找的专栏是静态的,但现在我被告知列的位置因报告而异,即星期一报告中的列AN,星期二的列BA等。
这是我已经拥有的简单代码:
' formats column to 000
Columns("AN:AN").Select
Selection.NumberFormat = "000"
任何帮助,将不胜感激
试试这个。转到列的底部并进行处理(无需选择任何一个)。
Sub FindColumn()
Dim rngAddress As Range
Set rngAddress = Range("A1:BZ1").Find("STVCNTY CODE Mailing")
If rngAddress Is Nothing Then
MsgBox "STVCNTY CODE Mailing column was not found."
Exit Sub
End If
'just used range
Range(rngAddress, Cells(Rows.Count, rngAddress.Column).End(xlUp)).NumberFormat = "000"
'OR entire column
rngAddress.EntireColumn.NumberFormat = "000"
Range(rngAddress.Offset(1), rngAddress.Offset(199)).Formula = "=IFERROR(VLOOKUP(" & rngAddress.Offset(1, -1).Address(0, 0) & ",[CountyCodes2.xlsm]Sheet1!CountyTable,2,FALSE),"""")"
End Sub