Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2665|回复: 7

[已解决]VBA如何设置单元格部分内容一致的条件

[复制链接]
发表于 2013-5-27 13:33 | 显示全部楼层 |阅读模式
如附件资料,
手动操作的话
先用VBA取得文件夹内所有图片的名字(附件“文件名”sheet)
下划线“_”前面番号一致的选择复制
粘贴到“结果”sheet相应的图片名单元格内
由于番号没有规律,所以不知道如何提取下划线“_”前面内容一致的部分
求高手帮忙


最佳答案
2013-5-27 14:22
看看是否符合你的要求。。。

资料.zip

6.77 KB, 下载次数: 8

 楼主| 发表于 2013-5-27 13:58 | 显示全部楼层
选择性粘贴→转置
可以录个宏,就是这个条件太头大了~
百度里面搜半天了也没找到解决办法
回复

使用道具 举报

发表于 2013-5-27 14:06 | 显示全部楼层
本帖最后由 1032446692 于 2013-5-27 14:09 编辑

Option Explicit
Sub test()
    Dim a, i, k, st, arra, arrb, diction, dictiona
    Set diction = CreateObject("scripting.dictionary")
    Set dictiona = CreateObject("scripting.dictionary")
    Sheets(1).Select
    a = Cells(60000, 1).End(xlUp).Row
    arra = Cells(1, 1).Resize(a)
    ReDim arrb(1 To a, 1 To a + 1)
    For i = 1 To a
        st = Left(arra(i, 1), InStr(1, arra(i, 1), "_") - 1)
        If diction.exists(st) Then
            dictiona(st) = dictiona(st) + 1
            arrb(diction(st), dictiona(st)) = arra(i, 1)
        Else
            k = k + 1
            diction(st) = k
            dictiona(st) = 2
            arrb(k, 1) = st
            arrb(k, 2) = arra(i, 1)
        End If
    Next i
    Sheets(2).Cells(2, 1).Resize(a, a + 1) = arrb
End Sub

回复

使用道具 举报

 楼主| 发表于 2013-5-27 14:13 | 显示全部楼层
厉害~!
可是为什么_1.jpg的都不见了呢?只有最后的一个还在
回复

使用道具 举报

发表于 2013-5-27 14:22 | 显示全部楼层    本楼为最佳答案   
看看是否符合你的要求。。。

资料.rar

17.19 KB, 下载次数: 19

回复

使用道具 举报

 楼主| 发表于 2013-5-27 14:30 | 显示全部楼层
xdd_sky 发表于 2013-5-27 14:22
看看是否符合你的要求。。。

看不到编码……不过成功了!
管理员写的那个我再研究研究
学海无涯啊~~哈哈!!

回复

使用道具 举报

发表于 2013-5-27 14:45 | 显示全部楼层
编码在sheet2还是sheet1里面   你可以找找  
回复

使用道具 举报

 楼主| 发表于 2013-5-27 15:14 | 显示全部楼层
xdd_sky 发表于 2013-5-27 14:45
编码在sheet2还是sheet1里面   你可以找找

恩!谢啦!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-6-7 15:57 , Processed in 0.304302 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表