- 帖子
- 1447
- 主題
- 40
- 精華
- 0
- 積分
- 1471
- 點名
- 0
- 作業系統
- Windows 7
- 軟體版本
- Excel 2010 & 2016
- 閱讀權限
- 50
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2020-7-15
- 最後登錄
- 2025-2-11
|
5#
發表於 2022-12-27 13:46
| 只看該作者
本帖最後由 Andy2483 於 2022-12-27 13:52 編輯
回復 3# PJChen
謝謝前輩回復
這些屬性都可以用錄製巨集即可取得,因後學藉此題練習VBA,並可縮短研討此主題得到答案,所以建議直接以VBA方案
淺藍底色,儲存格格式格線選項:
結果:
以下是後學練習VBA心得註解,請參考
Option Explicit
Sub TEST_20221226_1()
Dim Area, T
'↑宣告變數(Area,T)都是通用型變數
T = [{"資產","流動資產:","現金","應收票據","應收帳款","存貨","預付款項","其他應收款","其他流動資產","流動資產總計"}]
'↑令T這通用型變數是 10個字串組成的陣列,索引號從1到10
T = Application.Transpose(T)
'↑令T這通用型變數是 陣列自身轉置後的二維陣列
Workbooks.Add
'↑令程序產生一個新活頁簿
Set Area = [D2:E15]
'↑令Area這通用型變數是 新活頁簿[D2:E15]儲存格
With Area
'↑以下是關於Area變數的相關程序
.Font.Name = "微軟正黑體"
'↑令字體名稱是 "微軟正黑體"
.Font.ColorIndex = 49
'↑令字色代號是 49
.HorizontalAlignment = xlLeft
'↑令儲存格內容顯示靠左
.VerticalAlignment = xlTop
'↑令儲存格內容顯示靠上
.Borders(xlInsideHorizontal).LineStyle = xlContinuous
'↑令區域儲存格內部水平格線是實線
'xlContinuous= 1 : 連續線
.Borders(xlInsideHorizontal).ThemeColor = 1
'↑令區域儲存格內部水平格線顏色是白色
.Item(1).ColumnWidth = 20
'↑令區域儲存格第1格的欄寬是 20
.Item(2).ColumnWidth = 16
'↑令區域儲存格第2格的欄寬是 16
.Interior.ColorIndex = 2
'↑令區域儲存格底色是 白色
.Item(5).Resize(2, 2).Interior.ColorIndex = 49
'↑令區域儲存格第5格(含自身)擴展向下2列向右2欄區域儲存格,底色是藍色
.Item(5).Resize(2, 2).Merge
'↑令區域儲存格第5格(含自身)擴展向下2列向右2欄區域儲存格合併
.Item(11).Resize(8, 2).Interior.ColorIndex = 37
'↑令區域儲存格第11格(含自身)擴展向下8列向右2欄區域儲存格,底色是淺藍色
.Item(1) = "公司名稱"
'↑令區域儲存格第1格值是 "公司名稱"字串
.Item(1).Font.Size = 16
'↑令區域儲存格第1格字大小是 16
.Item(3) = "2022/3/31"
'↑令區域儲存格第3格值是 "2022/3/31"字串
.Item(3).NumberFormatLocal = "日期:yyyy.mm.dd"
'↑令區域儲存格第3格格式是 "日期:yyyy.mm.dd"
.Item(5) = "資產負債表"
'↑令區域儲存格第5格值是 "資產負債表"字串
.Item(5).Font.ColorIndex = 2
'↑令區域儲存格第5格字色是 白色
.Item(14, 1).Resize(1, 2).Borders(xlEdgeTop).Weight = 4
'↑令區域儲存格 14列1欄儲存格擴展向下1列向右2欄區域儲存格,其上方格線重量係數是4
.Item(14, 1).Resize(1, 2).Borders(xlEdgeTop).ThemeColor = 2
'↑令區域儲存格 14列1欄儲存格擴展向下1列向右2欄區域儲存格顏色是 黑色
.Item(14, 1).Font.Bold = True
'↑令區域儲存格 14列1欄儲存格字是粗體
.Item(1).Font.Bold = True
'↑令區域儲存格第1格字是粗體
.Item(9).Font.Bold = True
'↑令區域儲存格第9格字是粗體
.Item(5, 1).Resize(10, 1) = T
'↑令區域儲存格 5列1欄儲存格擴展向下10列向右1欄區域儲存格值,以T陣列帶入
End With
End Sub
Sub 陣列語法測試()
Dim V, T, S, Z
V = Array("資產", "流動資產:", "現金", "應收票據", "應收帳款", "存貨", "預付款項", "其他應收款", "其他流動資產", "流動資產總計")
T = [{"資產","流動資產:","現金","應收票據","應收帳款","存貨","預付款項","其他應收款","其他流動資產","流動資產總計"}]
S = Split("資產,流動資產:,現金,應收票據,應收帳款,存貨,預付款項,其他應收款,其他流動資產,流動資產總計", ",")
Z = Application.Transpose(T)
'↑令T這通用型變數是 陣列自身轉置後的二維陣列
MsgBox Z(2, 1)
MsgBox V(2) & " " & T(2) & " " & S(2)
MsgBox V(1) & " " & T(1) & " " & S(1)
MsgBox V(0) & " " & T(0) & " " & S(0)
End Sub
偵錯:
|
|