Board logo

標題: [發問] IF函數,代碼簡化問題 [打印本頁]

作者: fusayloveme    時間: 2012-4-3 14:54     標題: IF函數,代碼簡化問題

請問各位大大,以下這些代碼是否能簡化呢!? 一直找不到感覺用不同的方法寫,讓我感覺有點挫折阿 ><,先謝過大大們....:)
  1. Private Sub CommandButton2_Click()

  2.     Range("S1").Select
  3.     ActiveCell.FormulaR1C1 = "編號"
  4.     Range("S2").Select
  5.     ActiveCell.FormulaR1C1 = "=IF(R[1]C[-17]=R[0]C[-17],1,0)"
  6.     Selection.AutoFill Destination:=Range("S2:S600"), Type:=xlFillDefault
  7.     Range("S2:S600").Select
  8.     Range("T1").Select
  9.     ActiveCell.FormulaR1C1 = "製程"
  10.     Range("T2").Select
  11.     ActiveCell.FormulaR1C1 = "=IF(R[1]C[-16]=R[0]C[-16],1,0)"
  12.     Selection.AutoFill Destination:=Range("T2:T600"), Type:=xlFillDefault
  13.     Range("T2:T600").Select
  14.     Range("U1").Select
  15.     ActiveCell.FormulaR1C1 = "物料名稱"
  16.     Range("U2").Select
  17.     ActiveCell.FormulaR1C1 = "=IF(R[1]C[-9]=R[0]C[-9],1,0)"
  18.     Selection.AutoFill Destination:=Range("U2:U600"), Type:=xlFillDefault
  19.     Range("U2:U600").Select
  20.     Range("V1").Select
  21.     ActiveCell.FormulaR1C1 = "代碼"
  22.     Range("V2").Select
  23.     ActiveCell.FormulaR1C1 = "=IF(R[1]C[-13]=R[0]C[-13],1,0)"
  24.     Selection.AutoFill Destination:=Range("V2:V600"), Type:=xlFillDefault
  25.     Range("V2:V600").Select
  26.     Range("W1").Select
  27.     ActiveCell.FormulaR1C1 = "總加"
  28.     Range("W2").Select
  29.     ActiveCell.FormulaR1C1 = "=SUM(RC[-4]:RC[-1])"
  30.     Selection.AutoFill Destination:=Range("W2:W600"), Type:=xlFillDefault
  31.     Range("W1").Select
  32.     Selection.AutoFilter
  33.     ActiveSheet.Range("$S$1:$W$600").AutoFilter Field:=5, Criteria1:="4"
  34.     Columns("E:H").Select
  35.     Selection.EntireColumn.Hidden = True
  36. End Sub
複製代碼

作者: GBKEE    時間: 2012-4-3 15:15

回復 1# fusayloveme
  1. Option Explicit
  2. Private Sub CommandButton2_Click()
  3.     Range("S1").Resize(, 5) = Array("編號", "製程", "物料名稱", "代碼", "總加")
  4.     'Range("S1:W1") = Array("編號", "製程", "物料名稱", "代碼", "總加")   '加上註解 系統不會執行
  5.     With Range("S2:W600")
  6.         .Columns(1) = "=IF(R[1]C[-17]=R[0]C[-17],1,0)"
  7.         .Columns(2) = "=IF(R[1]C[-16]=R[0]C[-16],1,0)"
  8.         .Columns(3) = "=IF(R[1]C[-9]=R[0]C[-9],1,0)"
  9.         .Columns(4) = "=IF(R[1]C[-13]=R[0]C[-13],1,0)"
  10.         .Columns(5) = "=SUM(RC[-4]:RC[-1])"
  11.     End With
  12.     'Range("S2:S600") = "=IF(R[1]C[-17]=R[0]C[-17],1,0)"
  13.     'Range("T2:T600") = "=IF(R[1]C[-16]=R[0]C[-16],1,0)"
  14.     'Range("U2:U600") = "=IF(R[1]C[-9]=R[0]C[-9],1,0)"
  15.     'Range("V2:V600") = "=IF(R[1]C[-13]=R[0]C[-13],1,0)"
  16.     'Range("W2:W600") = "=SUM(RC[-4]:RC[-1])"
  17.     Range("W1").AutoFilter
  18.     ActiveSheet.Range("$S$1:$W$600").AutoFilter Field:=5, Criteria1:="4"
  19.     Columns("E:H").EntireColumn.Hidden = True
  20. End Sub
複製代碼

作者: fusayloveme    時間: 2012-4-3 16:09

回復 2# GBKEE
感謝GBKEE大!!!,又讓我學到不少! 超感恩^^




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)