Board logo

標題: [發問] 請問如何找出重複批號 [打印本頁]

作者: PD961A    時間: 2010-7-7 07:52     標題: 請問如何找出重複批號

請問各位先進
請問要在G欄找出重複批號
公式要如何寫?
謝謝...

[attach]1720[/attach]

[attach]1721[/attach]
作者: wqfzqgk    時間: 2010-7-7 07:57

用条件格式
作者: PD961A    時間: 2010-7-7 08:10

回復 2# wqfzqgk


    不好意思謝謝您
可是我的2003沒有"重複"這個格式可以選
[attach]1723[/attach]
作者: wqfzqgk    時間: 2010-7-7 08:34

回復 3# PD961A


    公式中输入=countif(g:g,G13)>1
作者: PD961A    時間: 2010-7-7 08:44

回復 4# wqfzqgk


    謝謝您
可以再請問您
您這個公式輸入後可以找到1個重複的
請問可以有公式是只要重複的批號都顯示嗎?
[attach]1724[/attach]
謝謝您..
作者: gong    時間: 2010-7-7 08:45

g13
格式化條件=COUNTIF($G$13:$G13,$G14)>=1
作者: PD961A    時間: 2010-7-7 08:54

回復 6# gong


    謝謝先進wqfzqgk及版主的回文
不好意思
可以請問
自訂格式內容是以文字顏色及圖案顏色顯示去區分批號重複的地方
可以讓它格式內容不是以顏色去得知重複批號
而是顯示"重複批號"嗎?
(本身格式已經需要顏色去區分移動順序..再增加重複批號的顏色會很雜亂..)
感謝您....
作者: wqfzqgk    時間: 2010-7-7 10:01

那样的话可以用worksheet的selectionchang作一程序,一变化就自动回复信息,
是否有重复值,并且用颜色去标示。可以作一程序
作者: PD961A    時間: 2010-7-7 10:07

回復 8# wqfzqgk

謝謝您....可以請問要如何寫公式?
    可以讓它格式內容不是以顏色去得知重複批號
     而是顯示"重複批號"嗎?

    感謝您....
作者: wqfzqgk    時間: 2010-7-7 10:59

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 7 Then
roww = Target.Row
If Application.WorksheetFunction.CountIf(Range("g1:g" & roww), Target.Value) <> 1 Then
MsgBox "重複批號"
Target.Interior.ColorIndex = Application.WorksheetFunction.RandBetween(1, 50)
Else
Exit Sub
End If
End If
End Sub
作者: PD961A    時間: 2010-7-7 11:29

回復 10# wqfzqgk


    非常謝謝您
但是執行步驟哪裡有問題
沒有
出現"重複批號"
謝謝您....[attach]1729[/attach]
作者: Hsieh    時間: 2010-7-7 12:07

回復 9# PD961A
要使用公式必需在新增一欄使用
不用格式條件顯示
那用驗證避免輸入重複看能否接受
作者: PD961A    時間: 2010-7-7 12:16

回復 12# Hsieh

謝謝版主
一定要再新增一欄加入公式?
不用格式條件顯示(希望能不用顯示太多的顏色..)
那用驗證避免輸入重複看能否接受

驗證的部份也是新增一欄嗎?
謝謝您..
作者: Hsieh    時間: 2010-7-7 13:29

回復 13# PD961A
在原來的欄位

    [attach]1732[/attach]
作者: PD961A    時間: 2010-7-7 13:54

回復 14# Hsieh


    謝謝版主
帶入原資料後
格式無法設定..步驟哪裡有問題?
是差在"O"欄的設定嗎?
謝謝您...

[attach]1736[/attach]

[attach]1737[/attach]
作者: Hsieh    時間: 2010-7-7 14:03

回復 15# PD961A


    我用x定義名稱
妳原本驗證的清單來源被刪公式錯誤
我是用代表妳的清單來源
只是這樣一來妳就沒有下拉清單可用
還有若用vba解決妳的程式碼放錯位置了
要在工作表模組下不是在一般模組
作者: PD961A    時間: 2010-7-8 07:18

回復 16# Hsieh

版主謝謝您的解答

  "  還有若用vba解決妳的程式碼放錯位置了
要在工作表模組下不是在一般模組"
這個檔案可以請您幫我改嗎?(昨天改一下午還是改不出...)
謝謝您..
作者: Hsieh    時間: 2010-7-8 09:30

回復 17# PD961A

所以你是想用vba?
    [attach]1750[/attach]
作者: PD961A    時間: 2010-7-8 09:45

回復 18# Hsieh
謝謝您
2種都有試
    1.原本驗證的清單來源直接複製改成99-8要修正過定義名稱

[attach]1751[/attach]


      2.VBA改不出
        3.正在試另一種加欄位(既然都要加欄位的話)用公式顯示"重複批號"在儲存格中直接顯示

謝謝您...
作者: PD961A    時間: 2010-7-8 09:59

回復  PD961A

所以你是想用vba?
Hsieh 發表於 2010-7-8 09:30


版主可以另外請問您
    Worksheet_SelectionChange
[attach]1752[/attach]


    Worksheet_Change
[attach]1753[/attach]

這2個指令差別在哪裡?
謝謝您...
作者: Hsieh    時間: 2010-7-8 10:12

selectionchange
選取位置改變時觸發的程序
change
是儲存格內容(值)改變時觸發的程序
作者: PD961A    時間: 2010-7-11 10:23

回復 21# Hsieh


    謝謝版主的解答
另外若用VBA在輸入有重複批號時
僅顯示"重複批號"但是不會知道另一個重複批號的位子

[attach]1809[/attach]

還是謝謝您幫我改好程式...
作者: PD961A    時間: 2010-7-11 10:26

g13
格式化條件=COUNTIF($G$13G13,$G14)>=1
gong 發表於 2010-7-7 08:45



    謝謝GONG版主的設定格式化
當重複批號出現時會顯示"顏色"
但是輸入新的批號後...儲存格內的顏色不會消失
是我的格式設定錯誤嗎?

[attach]1810[/attach]

[attach]1811[/attach]

還是很謝謝您...
作者: PD961A    時間: 2010-7-11 10:35

最後另外試
   3.正在試另一種加欄位(既然都要加欄位的話)用公式顯示"重複批號"在儲存格中直接顯示


[attach]1812[/attach]
可以知道重複批號的儲存格..但是是必須新增一個欄位去判別..
如果想要在批號的儲存格中..直接顯示"重複批號"大概不行吧!!
感謝先進wqfzqgk及版主的回文...
作者: gong    時間: 2010-7-11 12:43

本帖最後由 gong 於 2010-7-11 12:48 編輯

不會吧!
格式化條件設定,在本列之前如果有重複本儲存格內容者,才會加底色
顏色無法消去表示前面還有重覆值

除非公式設為手動

補充說明:我格式化條件是從14列開始設起,不是13列
如果從13列開始即包含本身,公式要把>=1,的"="拿掉
才會正確顯示
作者: gong    時間: 2010-7-11 12:52

本帖最後由 gong 於 2010-7-11 12:57 編輯
最後另外試
   3.正在試另一種加欄位(既然都要加欄位的話)用公式顯示"重複批號"在儲存格中直接顯示



...
PD961A 發表於 2010-7-11 10:35


o13
=if(countif($g$13:$g13,$g13)=1,"","重覆")
作者: PD961A    時間: 2010-7-11 16:13

回復 25# gong


    謝謝GONG版主
檔案設定格式是一樣的(沒有另外手動設定)
但是代出的值就是怪怪的
[attach]1818[/attach]

[attach]1819[/attach]

謝謝您
作者: PD961A    時間: 2010-7-11 16:16

本帖最後由 PD961A 於 2010-7-11 16:18 編輯

回復 26# gong


    另外您說修正
  如果從13列開始即包含本身,公式要把>=1,的"="拿掉
才會正確顯示
結果設定後是不會變色...步驟哪裡有問題?
感謝您....

[attach]1820[/attach]

[attach]1821[/attach]



另外謝謝您o13
=if(countif($g$13:$g13,$g13)=1,"","重覆") 的公式..謝謝
作者: gong    時間: 2010-7-11 18:58

回復 27# PD961A


    g13的格式化條件
=COUNTIF($G$13:$G13,$G14)>=1
資料錯了一位
應改成
=COUNTIF($G$13:$G13,$G13)>1
或改為
=COUNTIF($G$12:$G12,$G13)>=1
作者: gong    時間: 2010-7-11 19:04

本帖最後由 gong 於 2010-7-11 19:09 編輯
回復  gong


    另外您說修正
  如果從13列開始即包含本身,公式要把>=1,的"="拿掉
才會正確顯示
結 ...
PD961A 發表於 2010-7-11 16:16


你的g13格式化條件設
=COUNTIF($G$13:$G53,$G54)>1
這樣的範圍錯了,條件天差地遠當然無法顯示正確值


應該是
=COUNTIF($G$13:$G13,$G13)>1
這樣的意思是從第13列起包含本身如果有1個以上的重覆,則填上條件格式的藍底色
(14列以下的資料在本公式內暫時不計)
你原來的公式範圍不正確,條件位置也不對
作者: PD961A    時間: 2010-7-11 19:10

回復 29# gong

謝謝GONG版主
    資料錯了一位
應改成=COUNTIF($G$13:$G13,$G13)>1
或改為=COUNTIF($G$12:$G12,$G13)>=1
如果從13列開始即包含本身,公式要把>=1,的"="拿掉才會正確顯示
所以這是錯誤點的地方
非常謝謝您...
作者: Hsieh    時間: 2010-7-11 23:12

回復 22# PD961A
既然不想多一欄輸入公式,而採用VBA,又怕顏色太亂,又要知道哪幾格重複,那就用註解物件儲存如何?
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. Dim Rng As Range, A As Range, d As Object
  3. Set d = CreateObject("Scripting.Dictionary")
  4. If Target.Column <> 7 Then Exit Sub
  5. For Each A In Range("G13:G65536").SpecialCells(xlCellTypeConstants)
  6. If Application.CountIf(Columns("G"), A) > 1 Then
  7.   If IsEmpty(d(A.Value)) Then
  8.      Set d(A.Value) = A
  9.   Else
  10.      Set d(A.Value) = Union(d(A.Value), A)
  11.   End If
  12. End If
  13. Next
  14. For Each A In Range("G:G").SpecialCells(xlCellTypeConstants)
  15.    If Not IsEmpty(d(A.Value)) Then
  16.       For Each Rng In d(A.Value)
  17.          If Rng.Comment Is Nothing Then
  18.             Rng.AddComment.Text Text:=d(A.Value).Address(0, 0)
  19.             Else
  20.             Rng.Comment.Text Text:=d(A.Value).Address(0, 0)
  21.          End If
  22.       Next
  23.     End If
  24. Next
  25. End Sub
複製代碼

作者: PD961A    時間: 2010-7-12 08:17

正規化資料表

爛表格害人


一小時後銷毀
老夏 發表於 2010-7-12 07:58



    謝謝夏版主
我會改進的
謝謝您....
作者: PD961A    時間: 2010-7-12 13:01

回復  PD961A
既然不想多一欄輸入公式,而採用VBA,又怕顏色太亂,又要知道哪幾格重複,那就用註解物件儲存如 ...
Hsieh 發表於 2010-7-11 23:12


版主
謝謝您
程式改好了可以適用..

[attach]1829[/attach]

謝謝..




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)