iT邦幫忙

0

[Excel] 資料對比後上色

  • 分享至 

  • xImage

日後有任何進度都會上來更新直到完成

12/12 更新
將範例檔案更新
另外似乎可以用excel內既有的條件格式處理的樣子..?
我好像把自己局限在一定要用VBA的思維了
但事實上只要結果可以出來即可
VBA與條件格式我都在挑戰中


12/7 更新
很抱歉在敘述上造成諸多不便
聽取前輩意見放置上檔案供參考
如有不足之處還請提出,還請海涵
Google雲端


12/6 更新
我找到可以重新排序抬頭後再重新比對資料的程式碼

Sub Reorder_Columns()
	Dim ColumnOrder As Variant, ndx As Integer
	Dim Found As Range, counter As Integer
		ColumnOrder = Array("Header 1", "Header 2", "Header 3", "Header 4", "Header 5", "Header 6")
	counter = 1
	
	'關掉畫面上的資料的更新:
	'執行巨集之前,先把畫面更新關掉,可以比較快速跑完巨集,不過資料量不大
	'的時候,也沒必要就是了,記得程式碼的最後要把他再打開
	Application.ScreenUpdating = False
	   
	For ndx = LBound(ColumnOrder) To UBound(ColumnOrder)
		'從左上角Rows("1:1")開始尋找,找字串ColumnOrder(ndx),找儲存格的數值符合的LookIn:=xlValues
		'一字不漏比對value相同LookAt:=xlWhole,一個column一個column的順序去找SearchOrder:=xlByColumns
		'找的方向是下一個SearchDirection:=xlNext,大小寫不用完全相符合MatchCase:=False
		Set Found = Rows("1:1").Find(ColumnOrder(ndx), LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious, MatchCase:=False)
		If Not Found Is Nothing Then
			If Found.Column <> counter Then
				'整個column剪下之後
				Found.EntireColumn.Cut
				'剪下的整個column依序insert到第1個Column、第2個Column………的位置
				'被人家卡位排擠的,就自動往右移動Shift:=xlToRight
				Columns(counter).Insert Shift:=xlToRight
				'清空記憶體裡面的內容,以免效能越來越差
				Application.CutCopyMode = False
			End If
		counter = counter + 1
		End If
	Next ndx
	'開啟畫面上的資料的更新
	Application.ScreenUpdating = True
End Sub

不過抬頭資料並非全部都有,所以會有缺欄而無法直接比對..


各位前輩好
我是才剛接觸沒多久的新手
因工作經常需要對比資料
但excel的資料對比只能一行一行處理
而資料的抬頭都不同(但都是相同東西)
所以目前都用excel篩選後再逐一肉眼比對Q_Q (還會對錯...)
研究了一下VBA似乎可以解決我的問題

想請問要如何寫出
1.sheet不同+欄位不同+欄位抬頭不同的資料比對並將不同儲存格上色

欄位抬頭的不同目前是想說先用手動的方式建立一個對比用資料
ex:
  A    B  C   D
1 名稱1 位置 食物  價格
2 名稱2 地點 吃的  摳摳
3 名稱3 地址 熱量  錢錢
4 名稱4 緯度 飼料  $$

將需要對照的資料根據欄位抬頭依照上表對比後再去跟內建的資料做對比並且把不同格子上色

2.如有出現一些條件式的資料時,根據邏輯判定後將不同的格子上色

這個似乎只能寫在程式碼中....@_@?

ex:
資料庫
   A    B       C
1 位置    食物      價格
2 美國/台灣  可樂    1.5美金/35台幣
3 台灣    漢堡/薯條  80台幣/50台幣

對比資料中
為美國時,則對比資料為1.5美金,如果不是就上色
為薯條時,則對比資料為50台幣,如果不是就上色

首次發文發問
如有冒犯或資訊不足的地方還請多指教指點

看更多先前的討論...收起先前的討論...
froce iT邦大師 1 級 ‧ 2022-12-06 17:36:09 檢舉
先把你的資料整理好,你這資料亂七八糟的要比對啥?
GodV3 iT邦新手 5 級 ‧ 2022-12-06 17:47:29 檢舉
是指初始檔案嗎? 那個是由程式生成的,抬頭的部分也會因為每個人的喜好排列都不同
這部分沒辦法要求大家都一樣....
blanksoul12 iT邦研究生 5 級 ‧ 2022-12-06 17:50:13 檢舉
你最好做一個原始資料的再給個你想變成怎樣的才比較好.
GodV3 iT邦新手 5 級 ‧ 2022-12-07 08:48:17 檢舉
好的,我待會整理一下資料放上來
blanksoul12 iT邦研究生 5 級 ‧ 2022-12-09 13:27:15 檢舉
對不起,看不明.....
re.Zero iT邦研究生 5 級 ‧ 2022-12-10 12:49:43 檢舉
我也看不明; @GodV3 :你能在你雲端硬碟上分享的 XLSL 檔案內,在對照組附上不需要上色與需要上色的各兩三個皆相異的範例案例後,然後說明上下表格比對後要上色的邏輯與位置嗎?
GodV3 iT邦新手 5 級 ‧ 2022-12-12 09:15:09 檢舉
兩位前輩好,已將更新的檔案放置上去,抱歉描述方式太差
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答