2,464
社区成员
Option Explicit
Sub POS刷卡检核()
Dim dicdata1 As Object
Set dicdata1 = CreateObject("Scripting.Dictionary")
Range("a:b").ClearContents
Dim e As Integer, d As Integer, i As Integer, f As Integer
Dim data1() As Variant, list1() As Variant, list2() As Variant
data1() = Worksheets("POS刷卡明细").Range("a1").Parent.UsedRange.Value
list1() = Application.Index(data1(), 1, 0)
d = Application.Match("发卡行", list1(), 0)
e = Application.Match("买家ID", list1(), 0)
f = Application.Match("卡号", list1(), 0)
Worksheets("POS刷卡明细").Range("a:a").Offset(0, f - 1).Replace "~*", "A"
list2() = Application.Index(data1(), 0, 3)
With dicdata1
For i = 2 To UBound(data1())
If data1(i, d) = "支付宝钱包" Or data1(i, d) = "微信钱包" Then
.Item(data1(i, e)) = 1 + .Item(data1(i, e))
Else
.Item(data1(i, f)) = 1 + .Item(data1(i, f))
End If
Next i
Range("a1:b1") = Array("客户卡号/钱包ID", "次数")
Range("a2").Resize(UBound(.keys), 1) = Application.Transpose(.keys)
Range("b2").Resize(UBound(.keys), 1) = Application.Transpose(.Items)
End With
Set dicdata1 = Nothing
End Sub
Sub 筛选超频次卡号()
Range("e:e").ClearContents
Worksheets("检核报告").Range("b10:c100000").ClearContents
Dim data2() As Variant, list2(1 To 1000) As String, list4(1 To 1000, 1 To 2) As Variant
Dim h As Integer, j As Integer, k As Integer, l As Integer
data2() = Range("a1:b" & Range("b65536").End(xlUp).Row).Value
For h = 2 To UBound(data2())
If data2(h, 2) >= 4 Then
j = j + 1
list2(j) = data2(h, 1)
End If
Next h
Range("e2").Resize(j, 1) = Application.Transpose(list2())
For k = 2 To UBound(data2())
If data2(k, 2) >= 4 Then
l = l + 1
list4(l, 1) = data2(k, 1)
list4(l, 2) = data2(k, 2)
End If
Next k
With Worksheets("检核报告")
.Range("b10").Resize(l, 2) = list4()