示例注釋:
Sub 宏1()? ? ? ? ? ? ? ? 'sub是宏開頭,宏1是宏的名稱,自定義,在按鈕中可指定用某個宏
'? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'后面是注釋
? ? Sheets("裝配材料").Select? ? ? ? ? ? ? ‘選擇表?裝配材料
? ? Cells.Select? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?’選擇所有單元格cell
? ? Selection.ClearContents? ? ? ? ? ? ? ? ?‘選擇的單元格清除內容,不含格式
? ??
? ? Sheets("裝配件統計清單").Select? ?
? ? Columns("C:E").Select? ? ? ? ? ? ? ? ? ? ’選擇C到E列
? ? Selection.Copy? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ‘復制C到E列到剪貼板
? ? Sheets("裝配材料").Select? ? ? ? ? ? ? ?‘選擇裝配材料表,在選擇下個表前,所有操作都針對這個表
? ? Columns("A:C").Select? ? ? ? ? ? ? ? ? ? ?’選擇A到C列對象
? ? ActiveSheet.Paste? ? ? ? ? ? ? ? ? ? ? ? ? ?’復制單元格到A-C列
? ?
? ? Range("B1:B3").Select? ? ? ? ? ? ? ? ? ? ‘選擇B1到B3單元格
? ? Range("B3").Activate? ? ? ? ? ? ? ? ? ? ? ?’B3單元格激活狀態
? ? Application.CutCopyMode = False? ‘取消復制模式
? ? Selection.EntireRow.Delete? ? ? ? ? ? ?’B1到B3所在的行刪除,即前3行
? ? Range("B1").Select? ? ? ? ? ? ? ? ? ? ? ? ? ‘選擇B1單元格
? ? ’B1到D1000列以B列為對象,刪除重復的行,不含表頭
? ? ActiveSheet.Range("$B$1:$C$10000").RemoveDuplicates Columns:=1, Header:=xlYes
? ? Range("D2").Select? ? ? ? ? ? ? ? ? ? ? ? ??‘選擇D2單元格? ? ?
? ? ’在 裝配件統計清單 的D列中查找與 裝配材料B列相同的行的第H列的數字,然后相加
? ? ’這個操作以D列為基準,0為D列,4為H列,-2為B列
? ? ActiveCell.FormulaR1C1 = "=SUMIF(裝配件統計清單!C[0],RC[-2],裝配件統計清單!C[4])"
? ? With Selection.Interior? ? ? ? ? ? ? ? ? ? ? ? ? ?‘對當前選擇的D2單元格內部設置
? ? ? ? .Pattern = xlSolid? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?‘單元格為實心填充
? ? ? ? .PatternColorIndex = xlAutomatic? ? ?’使用excel默認顏色
? ? ? ? .Color = 65535? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?’對應黃色
? ? ? ? .TintAndShade = 0? ? ? ? ? ? ? ? ? ? ? ? ? ? ?‘無特殊色調明暗
? ? ? ? .PatternTintAndShade = 0? ? ? ? ? ? ? ? ?’無特殊陰影
? ? End With
? ? ‘使用自動填充格式,范圍是從D2列到A列有數據的最后一行
? ? ? ? Selection.AutoFill Destination:=Range("D2:D" & [a65536].End(3).Row)
? ? ? ??
? ??
未完待續。。。