2012-08-25 82 views
1

我的查詢是下面:Excel宏複製行,基於列的值的新表(或多個)

每個月我的電信運營商爲我提供了以下格式的所有用戶的Excel列表:

GSM number, account num, caller location, called location, units, cost 

123456,  abc123456, loc1,   loc2,   23, 11.231 

123456,  abc123456, loc8,   loc4,   5,  3 

123456,  abc123456, loc1,   loc4,   102, 71.1 

789012,  def789012, loc4,   loc5,   11, 1.43 

789012,  def789012, loc4,   loc5,   1,  0.23 

345678,  ghi345678, loc6,   loc7,   7,  2.23 

等等。

我想通過列A(gsm號碼)並將該號碼的所有行復制到一個名爲數字的工作表,例如第1-3行將被複制到一個名爲123456的工作表。

我已經設法去了一些otherqueries在這個網站上,並提出了一些工作,但沒有。我面臨的問題是,特定調用者的行數不固定(每個調用一行),調用者的數量也不固定(零調用意味着沒有行)。我正在嘗試使用OnCellValueChange類型的解決方案 - 因爲我可以理解編輯宏& - 但還沒有寫入。

謝謝你的時間!

edit:另外,作爲一個附註,我是否也可以在每個電子表格上放置「總成本」欄?

編輯編輯:感謝所有您的解決方案。然而,我對VBA的不適感阻礙了我。所以,我只是將SQL表格原樣放入SQL數據庫中,並直接在線執行SQL/ASP中的所有格式化和查詢。因此,現在用戶只需輸入他們的電話號碼(和密碼)並通過動態生成的小計和分類查看他們的通話記錄。非常感謝你們的幫助。

+1

請您可以添加您當前的嘗試性解決方案,以使用數組將有助於問題 – whytheq

+0

- 充滿獨特的'GSM number's的數組。然後循環訪問該數組,併爲數組中的每個值創建一個工作表並循環遍歷電子表格中的所有行以查找該數字 - 如果發現該數字,則複製到新工作表 – whytheq

+0

'因爲我可以理解和編輯宏 - 但還沒有寫過。「如果你能理解/編輯宏,爲什麼這是一個問題? :-)請嘗試你的解決方案,並找出問題 - 用解決方案 - 而不是隻希望有人給你寫一個答案.. – enderland

回答

1

正如@ joseph4tw說,你可以用類似下面(Excel 2010中)數據透視表做到這一點...

  • 要顯示所有項目標籤,選擇:字段設置 - >佈局&打印 - >重複項目標籤

  • 要創建的工作表標籤只是選擇透視表選項 - >顯示報告過濾網頁(如下)

enter image description here

enter image description here

更新已經創建的工作表標籤,你可以用組的編輯根據需要格式化......

  • 通過選擇所有選項卡移點擊最後一個選項卡,
  • 選擇整個工作表並粘貼特殊值以刪除所有數據透視表
  • 刪除前兩行,並自動調整列,如圖

enter image description here

+0

嗨,感謝所有您的解決方案。然而,我對VBA的不適感阻礙了我。所以,我只是將SQL表格原樣放入SQL數據庫中,並直接在線執行SQL/ASP中的所有格式化和查詢。因此,現在用戶只需輸入他們的電話號碼(和密碼)並通過動態生成的小計和分類查看他們的通話記錄。非常感謝你們的幫助。 – user1624085