永发信息网

求大神用vba写一段代码

答案:4  悬赏:30  手机版
解决时间 2021-03-24 10:02
求大神用vba写一段代码
最佳答案

工作簿的名字没给不好弄,现就将结果放在C、D列。
Sub demo()
    Dim d As Object, i As Long
    Set d = CreateObject("scripting.dictionary")
    For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
        If Not d.exists(Cells(i, 1).Value) Then
            d(Cells(i, 1).Value) = 1
        Else
            d(Cells(i, 1).Value) = d(Cells(i, 1).Value) + 1
        End If
    Next
    Range("C2").Resize(d.Count, 1) = Application.Transpose(Filter(d.keys, ""))
    Range("D2").Resize(d.Count, 1) = Application.Transpose(Filter(d.items, ""))
End Sub
追问数据A和数据B就是工作蒲名字追答Sub demo()
Dim d As Object, i As Long
Set d = CreateObject("scripting.dictionary")
With Workbooks("数据a.xlsm").Sheets("Sheet1")
For i = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
If Not d.exists(.Cells(i, 1).Value) Then
d(.Cells(i, 1).Value) = 1
Else

d(.Cells(i, 1).Value) = d(.Cells(i, 1).Value) + 1
End If
Next
End With
With Workbooks("数据B.xlsx").Sheets("Sheet1")
.Range("A2").Resize(d.Count, 1) = Application.Transpose(Filter(d.keys, ""))
.Range("B2").Resize(d.Count, 1) = Application.Transpose(Filter(d.items, ""))
End With
End Sub
全部回答
Sub 宏1()
    Dim arr, o, i, x
    Set o = CreateObject("Scripting.Dictionary")
    arr = Sheets("Sheet1").UsedRange
    For i=1 To UBound(arr)
        x = arr(i,1)
        o(x) = o(x) + 1
    Next i
    ReDim arr(i, 2)
    i = 1
    For Each x In o.Keys
        arr(i,1) = x
        arr(i,2) = o(x)
        i = i + 1
    Next x
    i = i - 1
    Sheets("Sheet2").Range("A1").ReSize(i, 2) = arr
End Sub追问可以加个联系方式么,我还有一个程序需要写
你这里数据a,数据b 是两个工作簿文件?追问是的追答Dim MyRows1 As Integer
Dim ThisValue As String
Dim MyDataText() As String
Dim MyDataNumb() As Integer
Dim n As Integer
Dim i As Integer
MyRows1 = 1
n = 0
Do While Workbooks("数据a.xlsx").Sheets("Sheet1").Cells(MyRows1, 1).Value <> ""
   ThisValue = Workbooks("数据a.xlsx").Sheets("Sheet1").Cells(MyRows1, 1).Value
   
   For i = 1 To n
      If MyDataText(i) = ThisValue Then
         MyDataNumb(i) = MyDataNumb(i) + 1
         Exit For
      End If
   Next i
   If i > n Then
      n = n + 1
      ReDim Preserve MyDataText(n) As String
      MyDataText(n) = ThisValue
      ReDim Preserve MyDataNumb(n) As Integer
      MyDataNumb(n) = 1
   End If
   
   MyRows1 = MyRows1 + 1
Loop
   
For i = 1 To n
   Workbooks("数据b.xlsx").Sheets("Sheet1").Cells(i, 1) = MyDataText(i)
   Workbooks("数据b.xlsx").Sheets("Sheet1").Cells(i, 2) = MyDataNumb(i)
Next i
可以以人民币结算么追问什么追答快自己好好做作业吧,不明白翻翻书!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
神仙劫带装备显示该模具无法升级当前的装备
泰兴八户美的专卖店地址在什么地方,想过去办
拍大师错误报告闪退,一点进去他就说错误报告
中国外交什么时候放弃意识形态对立
十二千克大米先吃去四分之三,再吃去剩下的三
长度为10的线性表进行冒泡排序,比较次数怎么
世界各国首脑称谓并不相同,其中法、美和俄称
癌症祝福,衷心祝愿是什么意思
泰拉瑞亚松露不卖蘑菇茅怎么弄
宝瀛斋老北京布鞋这个地址在什么地方,我要处
PSP噬神者21.4NPC的问题
铸铁 耐高温
与夜晚有关的诗句
在三清山是住金沙服务区好还是南山索道旁好
我是左腿不能弯能学开车嘛
推荐资讯
三星手机被锁机软件锁了怎么打开?
写雪不带雪字的诗句10句 急急急!
万隆村在哪里啊,我有事要去这个地方
谁是我国文学史上第一位田园诗人
亚运会国人关注度高吗?
我的官样年华 全文
不等式2x+3≤5的解集为________.
开店风水注意事项
I am busy preparing for the mid-term exami
单选题________home,Imetanoldfriendo
有没有既能录制视频又能同步书写的工具
我在企业融资网提交资料进行融资。有客服打电
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?