我很欣賞那裏有很多類似的問題,但我一直在搜索各種論壇三天現在還沒有找到任何我需要的東西 - 所以要麼我在做非常奇怪的事情或我的搜索技能不達標!試圖合併列在Excel中的列
我真的很感激,如果有人能讓我知道我哪裏出錯了,或者甚至可以將我聯繫到一個可能有幫助的解決方案,因爲我沒有找到一個解決方案。
我目前有一個包含六個工作表的電子表格。工作表2-6包含來自不同來源的物品的數據。工作表1目前包含四列,它使用我拼湊成四個單獨列的宏來填充項目數據。工作表2包含一個'itemlist'列,我想從工作表2中的四列中的每一列複製數據。
我希望這是有道理的。在此刻,我的代碼是下面:
Sub UpdateList()
'Clear the current ranges
Range("PharmacyItems").Clear
Range("PrelabelItems").Clear
Range("RestockItems").Clear
Range("TakehomeItems").Clear
Range("FullItemList").Clear
'Populate control with unique list
Range("PharmacyFullList").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("PharmacyItems"), Unique:=True
Range("PrelabelFullList").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("PrelabelItems"), Unique:=True
Range("RestockFullList").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("RestockItems"), Unique:=True
Range("TakehomeFullList").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("TakehomeItems"), Unique:=True
'Combine the four ranges into one
Range("UniqueLists!$A:$A, UniqueLists!$B:$B, UniqueLists!$C:$C, UniqueLists!$D:$D").Copy Sheets("Drug totals").Range("A2")
'Sort the data
Range("FullItemList").Sort Key1:=Range("FullItemList").Columns(1), Order1:=xlAscending, Orientation:=xlSortColumns, Header:=xlYes, SortMethod:=xlPinYin, DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption2:=xlSortNormal
End Sub
爲了闡明以上,這裏是一個定義其範圍是:
PharmacyItems,PrelabelItems,RestockItems和TakehomeItems:這些是包含從每個數據工作表複製的唯一項目的單個列表。 FullList:上述四個的fulllist是源數據列出了哪些不是唯一列表 FullItemList:列進我希望所有從唯一列表中的數據,以最終
我之所以有其指定的範圍內每列而不是使用命名範圍是,我試圖看看這是否會使它更好,因爲它只是給我一個模糊和蓬鬆的範圍問題的錯誤。使用該範圍中定義的列,它會告訴我目標的大小/形狀與源不匹配。
確切的錯誤是: 運行時錯誤'1004': 信息無法粘貼,因爲複製區域和粘貼區域的大小和形狀不一樣。請嘗試以下之一: - 單擊一個單元格,然後粘貼 - 選擇一個矩形,這是相同的大小和形狀,然後粘貼
誰能幫助我?可悲的是我是一個SQL Server的女孩,我寧願從數據庫中提取數據,但我不允許這個數據庫!
預先感謝您
夏季
澄清 - 您想通過將四個「唯一」列表複製到一個列中來合併? –
您是否需要四個唯一列表,或者您是否可以將值從xxxFullList直接複製到DrugTotals表單中? –
我需要四個唯一的列表,因爲他們正在用於其他事情。您添加了未經測試的代碼的帖子非常棒,謝謝! – Elatesummer