2009-10-15 112 views
-1

我是新來的,並且被某個認爲它是程序員最好的網站的人引用了此網站。我也認爲這是!在Excel中提取數據並在另一個表格中轉換/格式化

我是VBA和Excel宏的新手。 我想用包含13列和1000行的電子表格來完成以下工作。

  1. 確定在列A中的唯一項目至J
  2. 移動獨特的項目到一個新的片
  3. 從列轉置上的新表中的數據到行
  4. 空間的獨特的項目(行將根據其下的固定數據而變化)
  5. 根據列B至J中的唯一項對原始數據進行排序
  6. 並使用剛纔創建的唯一項目和數據填充先前創建的新工作表具有獨特的項目
  7. 列創建一個分類彙總每個填充數據

這裏是低於格式:

 
     A  B  C  D  E  F  G  ... L M 
    1 Mike mazer Male White London SE Barman ... 36 4.52 

回答

0

你的問題有很多零件。如果你分解了這些部分並且詢問了給你帶來困難的事情,這可能是最簡單的。

雖然如果您已經可以手動處理這個問題,我會建議使用excel來記錄運行所有步驟的宏(可以在Visual Basic工具欄上找到此功能),然後在宏中打開宏vba編輯器稍後調整代碼。

當然,如果你遇到任何中間步驟,你總是可以問另一個問題。這裏的人很樂意提供幫助。希望有所幫助。

+0

由於沙卡。我已經解決了1,2並希望3.你對4-6有任何線索嗎?非常感謝 – user190710 2009-10-16 09:56:11

+0

我最初的想法是,您可能可以通過使用AutoFilter(位於「數據」菜單中的「過濾器」下)來獲取位置。我不太明白你想要做什麼,但AutoFilter是一個非常強大的數據整理工具。當然,現在你總是可以提出另一個問題,那就是你已經在你的問題上取得了一些進展。 – Shaka 2009-10-16 18:23:11

2

是的,可以使用Excel宏來記錄常用的Excel命令。我建議熟悉Macro記錄器,然後前往superuser.com以瞭解可能需要記錄的任何Excel命令。

步驟1-2可以用以下來完成:

https://superuser.com/questions/49614/excel-get-distinct-values-in-column

我親自錄製了大量的Excel的命令,只是爲了看看VB代碼它會吐出。其學習VB

一個很好的方法,它看起來像你需要爲「支點」爲步驟3中的數據(在Excel數據透視表中讀取了)

7,調查數據>小計命令。它有幾種不同的配置方法。

+0

感謝一羣KevinDeus。我已經完成了步驟1和步驟2.關於步驟4和步驟5的任何建議? – user190710 2009-10-16 09:51:40

0

您可以使用Application.WorksheetFunction.Transpose()函數來翻轉這些值。

示例:對於一整行,

Application.WorksheetFunction.Transpose("A1":"A1".End(xlToLeft)) 
+0

謝謝蘭斯。請你可以給我在Transpose屬性中的爭論。我試圖選擇包含轉置數據的報表中的所有數據,並將它從A(1,1)開始在行的下方進行轉置。非常感謝 – user190710 2009-10-16 09:54:12

+0

我在一行的基礎上編輯了一個簡單的例子,你的參數就是你想要移位的範圍,當然你想把它分配到正確的反向尺寸範圍。你可以使用xldown作爲列,有很多方法可以在excel中抓取範圍。 – 2009-10-16 19:03:35

相關問題