- 帖子
- 4901
- 主題
- 44
- 精華
- 24
- 積分
- 4916
- 點名
- 142
- 作業系統
- Windows 7
- 軟體版本
- Office 20xx
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台北
- 註冊時間
- 2010-4-30
- 最後登錄
- 2026-7-16
                
|
回復 1# jesscc
查詢- Sub query()
- Dim i%, Ar(), A As Range
- If Sheet33.OptionButton7.Object.Value = True Then
- Set d = CreateObject("Scripting.Dictionary")
- Set d1 = CreateObject("Scripting.Dictionary")
- With Sheets("DATA")
- For Each A In Range(.[B5], .[B65536].End(xlUp))
- d(A.Value) = A.Offset(, 3).Value
- d1(A.Value) = Array(A.Value, "", A.Offset(, 3).Value, A.Offset(, 4).Value, A.Offset(, 10).Value)
- Next
- End With
- With Sheets("B")
- For Each A In Range(.[D12], .[D65536].End(xlUp)).SpecialCells(xlCellTypeConstants)
- For Each ky In d.keys
- If ky <> A And d(ky) = d(A.Value) Then
- ReDim Preserve Ar(s)
- Ar(s) = d1(ky)
- s = s + 1
- End If
- Next
- If s > 0 Then
- A.Offset(1, 0).Resize(s, 1).EntireRow.Insert
- A.Offset(1, 1).Resize(s, 5) = Application.Transpose(Application.Transpose(Ar))
- s = 0: Erase Ar
- End If
- Next
- End With
- End If
- Set d = Nothing
- Set d1 = Nothing
- End Sub
複製代碼 替代料- Private Sub OptionButton7_Click()
- Dim i%
- [E11] = "替代料"
- Columns("G:J").EntireColumn.Hidden = False
- Var = MsgBox("這樣做會刪除你之前所做的查詢結果。" & vbCrLf & vbCrLf & "但不會刪除原來的 PN。" & vbCrLf & vbCrLf & "請確定你要進行的查詢項目 !" & vbCrLf & vbCrLf & "可以按""取消""離開!", 33, "操作步驟提示!")
- If Var = 2 Then
- OptionButton6 = True
- Columns("G:J").EntireColumn.Hidden = True
- Exit Sub
- Else
- Range([E12], Cells(Rows.Count, 5).End(xlUp)).SpecialCells(xlCellTypeConstants).EntireRow.Delete
- End If
- End Sub
複製代碼 |
|