2014-04-29 301 views
-1

我有一個電子表格,其中包含不同日期的幾個人的數據。我想將非零單元格複製到每個單獨的單獨表單中。例如,Tom在4/12上工作3小時,在4/13工作6小時,在4/16上工作5小時。迪克在4/12上工作6小時,在4/15上工作3小時,在4/16上工作5小時。哈利在4/14工作5小時,4/15工作4小時,4/16工作6小時。 A列的日期爲4/12至4/16,列C,D和E有湯姆,迪克和哈里那幾天工作的時間。他們沒有工作的日子都留空了。我爲每個人都有一個單獨的工作表,應該只顯示他們工作的日子,所以湯姆的工作表只有日期4/12,4/13和4/16。是否有宏或查找我可以用來從主表複製到個人的工作表?謝謝。從一個電子表格中的範圍複製單元格到另一個電子表格

+0

您的佈局並不鼓勵人們閱讀你的Q.你有沒有考慮過http://www.sensefulsolutions.com/2010/10/format-text-as-table.html? – pnuts

回答

0

假設你的數據看起來是這樣的(並且是在一個名爲工作表「主」):

enter image description here

給這個代碼試試:

Sub tgr() 

    Dim wb As Workbook 
    Dim wsMstr As Worksheet 
    Dim rngHours As Range 
    Dim cIndex As Long 

    Set wb = ActiveWorkbook 
    Set wsMstr = wb.Sheets("Master") 
    Set rngHours = wsMstr.UsedRange 

    Application.ScreenUpdating = False 
    For cIndex = Columns("C").Column To rngHours.Columns.Count 
     With wb.Sheets.Add(After:=wb.Sheets(wb.Sheets.Count)) 
      .Name = wsMstr.Cells(rngHours.Row, cIndex).Text 
      rngHours.AutoFilter cIndex, ">0" 
      Intersect(rngHours, wsMstr.Range("A:A," & Columns(cIndex).Address)).Copy .Range("A1") 
      rngHours.AutoFilter 
      .Columns("A").EntireColumn.AutoFit 
     End With 
    Next cIndex 
    Application.ScreenUpdating = True 

End Sub 
相關問題