Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
12
返回列表 发新帖
楼主: simonleung

[已解决]请老师帮忙做下,本人研究了一天实在是没办法

[复制链接]
发表于 2014-6-27 19:54 | 显示全部楼层
simonleung 发表于 2014-6-27 17:23
大神:
      不是很明白,求解释函数意思:

你的反应真够慢的,一个星期才醒过来!
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
回复

使用道具 举报

发表于 2014-6-30 10:45 | 显示全部楼层
ARR = Sheets("信息系统通讯录").Range("A2").CurrentRegion.Offset(1, 0)
将工作表"信息系统通讯录"中A2所在地区域,下移一行的数据赋值给数值变量ARR

ReDim BRR(1 To UBound(ARR), 1 To Range("CN:CN").Column)
设置数组变量BRR,行数与ARR相同,列号从1 到CN列的列号(覆盖到CN列)
回复

使用道具 举报

 楼主| 发表于 2014-6-30 11:04 | 显示全部楼层
zjdh 发表于 2014-6-30 10:45
ARR = Sheets("信息系统通讯录").Range("A2").CurrentRegion.Offset(1, 0)
将工作表"信息系统通讯录"中A2所 ...

不好意思。后来收到邮件说要我们去解释,我才回来研究代码。又遇到周末什么的
回复

使用道具 举报

 楼主| 发表于 2014-6-30 12:00 | 显示全部楼层
zjdh 发表于 2014-6-19 21:53
满足了大部分功能

大神,这一段麻烦也讲解一下。谢谢   


CRR = Sheets("Outlook格式字段列表").UsedRange
    With Sheets("Outlook格式")
        .Rows("2:60000").Delete
        For I = 1 To UBound(ARR, 2)
            If ARR(1, I) = "地区" Then   '处理地区
                For T = 2 To UBound(ARR) - 1
                    If ARR(T, I) <> "" Then DQ = Replace(Split(ARR(T, I), "(")(0), Chr(10), "")
                    ARR(T, I) = DQ
                Next
            End If

回复

使用道具 举报

发表于 2014-6-30 14:03 | 显示全部楼层
CRR = Sheets("Outlook格式字段列表").UsedRange
   将"Outlook格式字段列表"已使用的单元数据赋值给数组变量CRR

    With Sheets("Outlook格式")
        .Rows("2:60000").Delete
   第2行至60000行删除

      For I = 1 To UBound(ARR, 2)
    对数组ARR第一行循环处理

        If ARR(1, I) = "地区" Then   '处理地区
    若某列首为"地区"(I列)
      
          For T = 2 To UBound(ARR) - 1
    对数组ARR第二行至最后一行-1循环处理(因为最后一行是空数据,所以排除)

            If ARR(T, I) <> "" Then DQ = Replace(Split(ARR(T, I), "(")(0), Chr(10), "")
    如果地区列该行不为空,则变量DQ=  数据的括弧左边(注意括弧是全角的)部分,并将换行符(Chr(10))替换为无(删除)

            ARR(T, I) = DQ   新内容替换原内容
          Next
       End If
回复

使用道具 举报

 楼主| 发表于 2014-6-30 14:14 | 显示全部楼层
zjdh 发表于 2014-6-30 14:03
CRR = Sheets("Outlook格式字段列表").UsedRange
   将"Outlook格式字段列表"已使用的单元数据赋值给数组变 ...

我还没看出来,您的代码是怎么找到对应字段,然后填入“outlook格式”工作簿。


回复

使用道具 举报

 楼主| 发表于 2014-7-3 09:34 | 显示全部楼层
zjdh 发表于 2014-6-27 19:54
你的反应真够慢的,一个星期才醒过来!

大神?
回复

使用道具 举报

发表于 2014-7-3 09:51 | 显示全部楼层
For J = 1 To UBound(CRR)
     If ARR(1, I) = CRR(J, 3) Then ARR(1, I) = J - 1: Exit For             '记录所在列号
Next


BRR(R, ARR(1, J)) = ARR(I, J)     '第一行是列号的直接赋值
回复

使用道具 举报

 楼主| 发表于 2014-7-3 16:59 | 显示全部楼层
zjdh 发表于 2014-7-3 09:51
For J = 1 To UBound(CRR)
     If ARR(1, I) = CRR(J, 3) Then ARR(1, I) = J - 1: Exit For             ...

谢谢
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-22 22:33 , Processed in 1.046173 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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