2269 |
請問Excel VBA 畫格子抓不到第一個column ? |
:「想請教為何以下Function 及用With 在幫資料加框線時會印不到第一個Column ?
要怎麼修改才能符合需求,感謝。
假設資料是A1~H30現在只有B1到H30有格子,A1~A30沒有且會跳出型態不符合錯誤。
如果在With中A改成A1但錯誤訊息會變成應用程式或物件定義上的錯誤,我按了偵錯會停在with wks2.Columns這行,我確認LastRow是有抓到值的,游標指到LastRow顯示LastRow=34?
Function getlastrow() As Long '找到最后一列-資料範圍
Dim lngReturn As Long
Dim wks2 As Worksheet
Set wks2 = Worksheets(2)
lngReturn = wks2.Range("A2").End(xlDown).Row
getlastrow = lngReturn
End Function
LastRow = getlastrow
With wks2.Columns("A:H" & CStr(LastRow)) '調整儲存格範圍
.HorizontalAlignment = xlCenter '文字置中對齊
.VerticalAlignment = xlCenter .Font.Name = "calibri" '字型
.Font.Size = 10 '字型大小
.Borders().LineStyle = xlNone '儲存格框線的線條樣式
.Borders().Weight = xlThin '儲存格框線粗細設定
End With
這是海綿寶寶大神的解法,錦子老師差太遠了。
:
Dim wks2 As Worksheet
Function getlastrow() As Long '找到最後一列-資料範圍
Dim lngReturn As Long
Set wks2 = Worksheets(1)
lngReturn = wks2.Range("A2").End(xlDown).Row
getlastrow = lngReturn
End Function
Sub Main()
LastRow = getlastrow
'範圍要用 Range
With wks2.Range("A1:H" & LastRow)
.HorizontalAlignment = xlCenter '文字置中對齊
.VerticalAlignment = xlCenter
.Font.Name = "calibri" '字型
.Font.Size = 10 '字型大小
.Borders().LineStyle = xlNone '儲存格框線的線條樣式
.Borders().Weight = xlThin '儲存格框線粗細設定
End With
'Columns 是指整「欄」,只要英文字母即可
With wks2.Columns("A:H") '調整儲存格範圍
.HorizontalAlignment = xlCenter '文字置中對齊
.VerticalAlignment = xlCenter
.Font.Name = "calibri" '字型
.Font.Size = 10 '字型大小
.Borders().LineStyle = xlNone '儲存格框線的線條樣式
.Borders().Weight = xlThin '儲存格框線粗細設定
End With
End Sub
留言列表