返回列表 上一主題 發帖

想請問關於一些自動化格式設定的問題

首先聲明,小學生一樣可以上傳檔案,並無權限問題

程式的編寫重規則的釐清,要依欄名判斷來設置攔寬,那就要知道欄名的規則舉例來說
每個工作表都有姓名欄位,但姓名欄位所在位置皆不同
如sheet1是A欄,sheet2是c欄,sheet3是g欄
那在工作表做迴圈檢查欄位時
for each sh in sheets
   set a=sh.rows(1).find("姓名")  '在標題列找尋標題
   if not a is nothing then a.ColumnWidth =30  '如果標題存在就設定欄寬
next
學海無涯_不恥下問

TOP

回復 8# mark15jill
檔案是沒問題,不過你的敘述要讓人看懂恐怕很難
我認為你是依照工作表名稱(或序列號)判斷哪些欄位的寬度設定
所以,基本上可用Select case 來簡化程式
  1. Sub nn()
  2. Dim Sh As Worksheet
  3. For Each Sh In Sheets
  4. With Sh
  5.         .Columns("a").ColumnWidth = 14
  6.         .Columns("b").ColumnWidth = 32
  7.         .Columns("c").ColumnWidth = 26
  8.         .Columns("d").ColumnWidth = 12
  9.         .Columns("e").ColumnWidth = 50
  10. Select Case .Index
  11. Case Is < 5
  12.         .Columns("s").ColumnWidth = 18
  13.         .Columns("t").ColumnWidth = 14
  14.         .Columns("u").ColumnWidth = 12
  15.         .Columns("v").ColumnWidth = 18
  16.         .Columns("w").ColumnWidth = 14
  17.         .Columns("x").ColumnWidth = 14
  18.         .Columns("y").ColumnWidth = 60
  19. Case Is < 6
  20.         .Columns("f").ColumnWidth = 10
  21.         .Columns("g").ColumnWidth = 24
  22.         .Columns("h").ColumnWidth = 10
  23.         .Columns("i").ColumnWidth = 24
  24.         .Columns("j").ColumnWidth = 10
  25.         .Columns("k").ColumnWidth = 24
  26.         .Columns("l").ColumnWidth = 10
  27.         .Columns("m").ColumnWidth = 20
  28.         .Columns("n").ColumnWidth = 30
  29.         .Columns("o").ColumnWidth = 30
  30.         .Columns("p").ColumnWidth = 60
  31.         .Columns("q").ColumnWidth = 60
  32.         .Columns("r").ColumnWidth = 26
  33. Case 5
  34.         .Columns("s").ColumnWidth = 12
  35.         .Columns("t").ColumnWidth = 60
  36. Case 6
  37.         .Columns("f").ColumnWidth = 20
  38.         .Columns("g").ColumnWidth = 20
  39.         .Columns("h").ColumnWidth = 50
  40.         .Columns("i").ColumnWidth = 20
  41.         .Columns("j").ColumnWidth = 60
  42. Case 7
  43.         .Columns("f").ColumnWidth = 10
  44.         .Columns("g").ColumnWidth = 24
  45.         .Columns("h").ColumnWidth = 10
  46.         .Columns("i").ColumnWidth = 24
  47.         .Columns("j").ColumnWidth = 10
  48.         .Columns("k").ColumnWidth = 24
  49.         .Columns("l").ColumnWidth = 10
  50.         .Columns("m").ColumnWidth = 20
  51.         .Columns("n").ColumnWidth = 30
  52.         .Columns("o").ColumnWidth = 30
  53.         .Columns("p").ColumnWidth = 60
  54.         .Columns("q").ColumnWidth = 60
  55.         .Columns("r").ColumnWidth = 26
  56.         .Columns("s").ColumnWidth = 18
  57.         .Columns("t").ColumnWidth = 14
  58.         .Columns("u").ColumnWidth = 12
  59.         .Columns("v").ColumnWidth = 18
  60.         .Columns("w").ColumnWidth = 14
  61.         .Columns("x").ColumnWidth = 14
  62.         .Columns("y").ColumnWidth = 60
  63. End Select
  64. End With
  65. Next
  66. End Sub
複製代碼
學海無涯_不恥下問

TOP

        靜思自在 : 一個人不怕錯,就怕不改過,改過並不難。
返回列表 上一主題