如果您對所有信息的單頁,和你想創建一個「提取」爲每個女孩,你至少有兩個選項
1)如果你只需要打印每個香港的表一次,使用主表「自動過濾器」選項,然後點擊「打印」 - 並重復每個管家。它仍然涉及到一些工作(儘管只有43個房間,也許只有少數幾個管家,但並不是那麼多)。 2)如果你想在每個管家的工作簿中有一個單獨的工作表,你可能需要使用VBA宏來自動化一些事情。這並不難,但考慮到你如何問這個問題,你可能不想解決這個問題。如果你這樣做 - 在這裏是一種方法:
- 創建一個名爲「MasterSheet」表工作簿:這就是你把所有的信息
- 創建每個管家另紙 - 叫你的牀單「凱蒂「,」Sue「等 - 每個員工一個(無論他們是否在今天的名單上)
- 在」模塊「中添加以下代碼:從工作簿中按
Alt-F11
,然後(在VBA編輯)插入...模塊和粘貼這個代碼:
Sub createDailyWorklist()
'
' Update a series of worksheets based on the first ("Master") sheet
'
'
Dim sh As Worksheet
Application.ScreenUpdating = False
For Each sh In ActiveWorkbook.Sheets
If Not sh.Name = "MasterSheet" Then ' skip first sheet - it is the "master"
sh.Activate ' select the sheet
sh.Cells.Clear ' remove old content
' set the criteria for the filter:
sh.Range("A1").Value = "HK" ' column to filter on
sh.Range("A2").Value = "'=" & sh.Name ' value to find = sheet name (housekeeper name)
' using the '= to get an exact match (not "starting with")
' otherwise Jane would get Janet's work too...
' there are 43 rooms so we know where the input data range is:
Sheets("MasterSheet").Range("A1:D44").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=sh.Range("A1:A2"), CopyToRange:=Range("A3:D3"), Unique _
:=False
Rows("1:2").Delete ' get rid of the criteria
Columns("A:D").EntireColumn.AutoFit ' make the columns just wide enough
End If
Next sh
Application.ScreenUpdating = True
End Sub
當您想要創建工作列表時,請按Alt-F8
,然後從出現的菜單中選擇「createDailyWorklist」。點擊「運行」
嘿presto!每個管家都有一張表,需要做的房間等。
很明顯,您可以修改這個以更好地適應您的需求 - 格式,複製字段的數量等。但是我希望這會讓您繼續。
我不明白。這似乎是一個過濾器的應用程序? – pnuts