[算表] vba簡化跟分表存檔問題
軟體:excel
版本:2007以上
我有個table類似
班級 姓名 分數
一班 A 50
二班 B 60
. . .
. . .
. . .
. . .
用錄製巨集+修改弄了個檔案:
https://drive.google.com/open?id=0BwCgrQhGgaw7UHZpd1pUN25pNE0
主要有兩個問題
1.我是把班級複製到P欄位 然後移除重複
用迴圈跑這段 然後 新增檔案 複製過去 存檔關閉
不知道這段若是不要複製P欄位移除重複的方式
直接在班級那邊就取唯一值不知道該怎麼改?
2.存檔後都會多出sheet2 sheet3等工作表
雖說可以直接刪這兩個工作表
但是不知道有沒有方式直接輸出檔案像是一班.xlsx
裡面只有唯一一個一班的工作表?
感謝各位大大..
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.250.67.77
※ 文章網址: https://www.ptt.cc/bbs/Office/M.1494553347.A.4AB.html
※ 編輯: ptguitar (60.250.67.77), 05/12/2017 09:42:58
→
05/12 10:15, , 1F
05/12 10:15, 1F
→
05/12 10:15, , 2F
05/12 10:15, 2F
感謝S大 不過我用application countif寫 移動範圍計算 若是=1
就新增workbook方式
但是都會到一班那邊出錯 不知道怎麼回事
VBA初學者問題很多 感謝指教^^
https://drive.google.com/open?id=0BwCgrQhGgaw7MDdmNDY5aHphcTg
For i = 2 To Range("A2").End(xlDown).Row
If Application.CountIf(Range("A2:A" & i), Range("A" & i)) = 1 Then
With mytable
.AutoFilter 1, Range("A" & i).Value
.Copy
End With
Workbooks.Add 1
With ActiveSheet.Range("A1")
.PasteSpecial xlPasteValues
.PasteSpecial xlPasteFormats
End With
ActiveSheet.Name = Range("A" & i).Value
ActiveWorkbook.SaveAs "d:\輸出\" & Range("A" & i).Value & ".xlsx"
Workbooks(Range("A" & i).Value & ".xlsx").Close SaveChanges:=False
Application.CutCopyMode = False
mytable.AutoFilter
End If
Next i
→
05/12 10:23, , 3F
05/12 10:23, 3F
→
05/12 10:27, , 4F
05/12 10:27, 4F
※ 編輯: ptguitar (60.250.67.77), 05/12/2017 14:46:40
→
05/12 14:55, , 5F
05/12 14:55, 5F
→
05/12 14:55, , 6F
05/12 14:55, 6F
→
05/12 15:11, , 7F
05/12 15:11, 7F
→
05/12 16:13, , 8F
05/12 16:13, 8F
→
05/12 16:19, , 9F
05/12 16:19, 9F
→
05/12 16:38, , 10F
05/12 16:38, 10F
Office 近期熱門文章
PTT數位生活區 即時熱門文章