精华内容
下载资源
问答
  • 已经没有办法满足大家工作的需要了,毕竟日常工作怎么可能会有这么标准的数据,之前就有小伙伴提供过一个案例,就是和我们昨天的内容差不多,但是也有一点不同,单元格空行,常规的筛选都不可能实现,想要筛...

    前景提要

    之前我们分享了一些简单的工作表数据的拆分,之所以说是比较的简单,因为工作表的数据比较的标准,并没有太复杂的结构,也并不需要做出太多的判断,所以我觉得还是属于简单的工作表拆分,不过这样的工作表拆分,已经没有办法满足大家工作的需要了,毕竟日常工作中怎么可能会有这么标准的数据,之前就有小伙伴提供过一个案例,就是和我们昨天的内容差不多,但是也有一点不同,单元格中空行,常规的筛选都不可能实现,想要筛选似乎很难,我们来看看案例

    场景说明

    我们来看看我们的数据源

    08b1b1b2969b9d6af1723a27c75ad954.png

    在进行数据统计的过程中,为了方便区分,所以每个班级的数据中间都是间隔了一个空行,这也是很多小伙伴们日常做表常规操作吧,看起来是很清晰,但是数据处理则是非常的麻烦,筛选?不可能的

    7dbce223c56e2649a64192a60dbea976.png

    只能筛选到其中的很小一部分,那么在这样的情况下,我们要如何进行数据拆分呢?来,和我一起来尝试下吧

    代码区

    Sub chai()
    Dim rng As Range, sth As Worksheet, sthn As Worksheet, Trng As Range, firstR As Range
    Set sth = ActiveSheet
    Set rng = Application.InputBox("请选择表头区域", "表头区域的确定", , , , , , 8)
    TitleR = rng.Rows.Count
    TitleC = rng.Column
    TitleColNum = rng.Columns.Count
    TargetRowNum = InputBox("请输入拆分标准列的列数")
    TargetRowNum = Int(TargetRowNum)
    l = Cells(Rows.Count, TargetRowNum).End(xlUp).Row
    Set firstR = Cells(TitleR + 1, TargetRowNum)
    k = 0
    For i = TitleR + 2 To l
        If firstR <> "" And i <> l Then
        k = k + 1
            If Cells(i, TargetRowNum) <> firstR Then
                Worksheets.Add after:=Worksheets(Worksheets.Count)
                Set sthn = ActiveSheet
                sthn.Name = firstR
                rng.Copy sthn.Cells(1, 1)
                sth.Activate
                sth.Range(Cells(i - k, TitleC), Cells(i - 1, TitleColNum + TitleC)).Copy sthn.Cells(TitleR + 1, 1)
                k = 0
                Set firstR = Cells(i, TargetRowNum)
            End If
            Else
                If i <> l Then
                    Set firstR = firstR.Offset(1, 0)
                        Else
                            k = k + 1
                            Worksheets.Add after:=Worksheets(Worksheets.Count)
                            Set sthn = ActiveSheet
                            sthn.Name = firstR
                            rng.Copy sthn.Cells(1, 1)
                            sth.Activate
                            sth.Range(Cells(i - k, TitleC), Cells(i, TitleColNum + TitleC-1)).Copy sthn.Cells(TitleR + 1, 1)
                End If
        End If
    Next i
    End Sub

    好吧,我也觉得今天的代码有点长了。先来看看这个代码执行的效果

    b99f43559cc42dd98a6db707fce72ce6.png

    039647c54a83f56dd93dac1365fa21d6.png

    这里有一点变化,这里需要输入的是拆分的标准列,这里标准列其实应该是依据列比较合适,这份表我们现在要按照班级来进行拆分,这里我们不手动选择,因为有空行,我们要选择区域的话,不太好选择,这里我们换成直接手动输入列数,这里我们按照班级来进行拆分,所以直接输入第3列

    然后就可以出结果了。

    eb373ebb151aea6bfa56556d45e2aac8.png

    已经完成了班级的拆分,随便抽一个来看看结果

    9c8c7d8821ad3cc2ba881ff575809f03.png

    代码分析

    看看代码

    Set rng = Application.InputBox("请选择表头区域", "表头区域的确定", , , , , , 8)
    TitleR = rng.Rows.Count
    TitleC = rng.Column
    TitleColNum = rng.Columns.Count
    TargetRowNum = InputBox("请输入拆分标准列的列数")
    TargetRowNum = Int(TargetRowNum)

    这一大段应该都是基础知识了,主要是实现表头的确认以及inputbox输入框的利用,很简单的

    今天的重点和难点就是要找到一个合理的判断方式,因为班级是从上往下是完全一致的,仅仅是空格隔开了,所以我们只需要循环班级列,如果碰到了单元格内容不等于上面一个内容的就是,就证明完成了一个班级,就可以将这部分的数据复制过去了,

    f333e08ed8bf97a71f65a57935723da0.png

    真的是这样的嘛?不对,因为如果这样执行的话,我们忽略了表格中最大的一个BUG,空格,如果是空格,我们还要做出进一步的判断,来看其中一部分代码

    For i = TitleR + 2 To l
        k = k + 1
            If Cells(i, TargetRowNum) <> firstR Then
                Worksheets.Add after:=Worksheets(Worksheets.Count)
                Set sthn = ActiveSheet
                sthn.Name = firstR
                rng.Copy sthn.Cells(1, 1)
                sth.Activate
                sth.Range(Cells(i - k, TitleC), Cells(i - 1, TitleColNum + TitleC)).Copy sthn.Cells(TitleR + 1, 1)
                k = 0
                Set firstR = Cells(i, TargetRowNum)
            End If
            Else
                    Set firstR = firstR.Offset(1, 0)
        End If
    next i 

    我们先忽略i和l之间的判断,来研究其中的一部分代码

    这里就是判断单元格的内容和之前的单元格不同的时候的操作,这里我们需要涉及对于空格的判断

    进入第一个小判断,这时候已经是来到了空格区域了

    0510409debd8fa71365c5675e86a9295.png

    当我们将上面的这一段常规数据复制到新建表格之后,我们还是要将初始单元格firstR进行重新定义,这时候我们定义为现在i所指向的单元格,也是是空格,空格是没有办法进行判断的,所以当我们再次进行循环判断的时候,我们要在前面加一个句

    If firstR <> "" then

    这样就可以规避单元格为空的情况,如果单元格为空,则将下一个单元格定义为新的firstR,

    可能这里有小伙伴们会说,为什么不直接将下一行作为firstR呢?这样不是更方便嘛?这里就牵涉到一个通用性的问题,如果其他的数据表,中间的间隔行不是1行,是2行,或则跟多行呢?所以这里还是通过判断的方式比较好

    这样就结束了嘛?

    没有

    和我们上面的完整代码还有一大段的差距,差距在哪里呢?

    末尾是否到达最后一行的判断

    5af89d5e8ae2c20b39f3ab5cb8845e72.png

    当然上面的方法并不是唯一也不是最简单的方法,不过我还是希望大家能够理解者方法的思路和代码执行的过程,这对于大家独立分析这种情况有很大的帮助,

    展开全文
  • 前面两篇博客,我们介绍了VBA和使用VBA获取当前工作表和另一个工作簿的工作表中的数据。这篇我们来说说如何使用VBA模糊查找当前工作表中有用...但值得庆幸的是,你所要的数据表格中的大致位置是可以确定的。现在的任

    前面两篇博客,我们介绍了VBA和使用VBA获取当前工作表和另一个工作簿的工作表中的数据。这篇我们来说说如何使用VBA模糊查找当前工作表中有用的数据。

    我们有时会遇到这样的情况。我们手头有很多很多老的excel文件,他们都是关于提供的内容是类似的,但是他们的格式还有不同,因为表格的样式调整过,或是从别的地方复制过来的,导致格式不尽相同。但值得庆幸的是,你所要的数据在表格中的大致位置是可以确定的。

    现在的任务是:把大量类似的excel文件进行整理,从中提取若干字段的值,并汇总到一个新的excel表格中。

    比如挑选两种原始文件中的数据:
    A类表格:
    这里写图片描述
    B类表格:
    这里写图片描述

    我们如何使用VBA批量从文件获取“姓名”、“性别”、“出生日期”和“年龄等呢?

    处理实际任务时,可能会有很多种表格格式需要兼容。这里为了方便演示,我举出如下几个场景。

    1. 字段名和字段值位于前后两个单元格中
    字段名和字段值分开的情况,一般都是字段值在字段名的邻近靠后的单元格,类似上图中的姓名。

    查找思路:
    1. 确认可能出现的区域
    2. 在区域内查找包含字段名的单元格
    3. 获取字段名单元格水平后面的单元格
    4. 获取字段值

    示例代码:

    '姓名字段名出现的范围是:A3到A5的区域内
    With sheet.Range("A3:A5")
        '查找包含“姓名”的单元格
        Set c = .Find("姓名", LookIn:=xlValues)
        '如果找到
        If Not c Is Nothing Then
            '获取匹配单元格水平后面一个单元格的内容
            PName = sheet.Cells(c.Row, c.Column + 1).Value
        End If
    End With

    2. 字段名和字段值在一个单元格中
    对于字段名和字段值在一个单元格中的情况,则需要把字段名和间隔符去掉,留下的值视为字段值

    查找思路:
    1. 确认可能出现的区域
    2. 在区域内查找包含字段名的单元格
    3. 去除字段名和间隔符
    4. 获取字段值

    示例代码:

    '姓名字段名出现的范围是:A3到A5的区域内
    With sheet.Range("A3:A5")
        '查找包含“姓名”的单元格
       Set c = .Find("姓名", LookIn:=xlValues)
       '如果找到
       If Not c Is Nothing Then
           '获取第一个匹配的单元格的内容
           PName = c.Value
           '去除字段名“姓名”
           If Mid(PName, 1, 2) = "姓名" Then PName = Mid(PName, 3, Len(PName))
           '去除分隔符“:”(英文分隔符)和“:”(中文分隔符)
           If Mid(PName, 1, 1) = ":" Then PName = Mid(PName, 2, Len(PName))
           If Mid(PName, 1, 1) = ":" Then PName = Mid(PName, 2, Len(PName))
       End If
    End With

    3. 混合1和2两种情况
    对于有的字段(比如:性别)出现了上述两种情况,则程序需要同时兼容。

    查找思路:
    1. 确认可能出现的区域
    2. 在区域内查找包含字段名的单元格
    3. 去除字段名和间隔符,判断剩下的值是否为空
    4. 如果为空,则获取单元格水平后面的单元格的内容

    示例代码:

    '性别字段名出现的范围是:E3到G4的区域内
    With sheet.Range("E3:G4")
        '查找包含“性别”的单元格
       Set c = .Find("性别", LookIn:=xlValues)
       '如果找到
       If Not c Is Nothing Then
           '获取第一个匹配的单元格的内容
           PName = c.Value
           '去除字段名“性别”
           If Mid(PName, 1, 2) = "性别" Then PName = Mid(PName, 3, Len(PName))
           '去除分隔符“:”(英文分隔符)和“:”(中文分隔符)
           If Mid(PName, 1, 1) = ":" Then PName = Mid(PName, 2, Len(PName))
           If Mid(PName, 1, 1) = ":" Then PName = Mid(PName, 2, Len(PName))
    
            If PName = "" Then
                '获取匹配单元格水平后面一个单元格的内容
                PName = sheet.Cells(c.Row, c.Column + 1).Value
            End If
       End If
    End With

    4. 无字段名, 仅有字段值
    对于没有字段名的情况,获取字段值可能会比较麻烦一些。这要看字段值是否有一定规律。比如“出生日期”,是日期格式,获取还是相对比较容易的。又或者是有固定几个枚举值的字段,比如“性别”。

    查找思路:
    1. 确认可能出现的区域
    2. 在区域内查找符合某一规律的一个或多个单元格
    3. 如果确认完全满足字段值的要求,则获取成功
    4. 否则继续校验其他符合规律的单元格

    示例代码:

      '出生日期字段名出现的范围是:C3到E4的区域内
        With sheet.Range("C3:E4")
            '查找包含“19”的单元格
            Set c = .Find("19", LookIn:=xlValues)
            '如果找到
            If Not c Is Nothing Then
                '保存第一个匹配的单元格地址,用于循环判断(因为FindNext方法找到最后一个匹配后,还可以跳到第一个匹配的单元格)
                cAddress = c.Address
    
                Do
                    '获取匹配的单元格的内容
                    PBirthDay = c.Value
    
                    '精确匹配:如果字段值的长度小于8个字符,或者第五个字符不是斜杠“/”、连接符“-”或反斜杠“/”中的一个,则匹配失败
                    If Len(PBirthDay) < 8 Or Not (Mid(PBirthDay, 5, 1) = "/" Or Mid(PBirthDay, 5, 1) = "-" Or Mid(PBirthDay, 5, 1) = "\") Then
                        PBirthDay = ""
                    End If
    
                    '查找下一个匹配的单元格
                    Set c = .FindNext(c)
                Loop While Not c Is Nothing And c.Address <> cAddress And PBirthDay = ""
            End If
    End With

    5. 混合1、2和4的情况
    上面已经分析了1、2和4的情况,我们只要把代码合并到一起,即可能兼容两种情况了。

    查找思路:
    1. 确认可能出现的区域
    2. 在区域内查找符合某一规律的一个或多个单元格
    3. 如果确认完全满足字段值的要求,则获取成功
    4. 否则继续校验其他符合规律的单元格
    5. 如果没有找到符合条件的字段值,则查找字段名
    6. 判断字段名的单元格是否包含字段值
    6. 如果不包含,获取字段名单元格水平后面的单元格

    示例代码:

    '出生日期字段名出现的范围是:C3到E4的区域内
    With sheet.Range("C3:E4")
        '查找包含“19”的单元格
        Set c = .Find("19", LookIn:=xlValues)
        '如果找到
        If Not c Is Nothing Then
            '保存第一个匹配的单元格地址,用于循环判断(因为FindNext方法找到最后一个匹配后,还可以跳到第一个匹配的单元格)
            cAddress = c.Address
    
            Do
                '获取匹配的单元格的内容
                PBirthDay = c.Value
    
                '精确匹配:如果字段值的长度小于8个字符,或者第五个字符不是斜杠“/”、连接符“-”或反斜杠“/”中的一个,则匹配失败
                If Len(PBirthDay) < 8 Or Not (Mid(PBirthDay, 5, 1) = "/" Or Mid(PBirthDay, 5, 1) = "-" Or Mid(PBirthDay, 5, 1) = "\") Then
                    PBirthDay = ""
                End If
    
                '查找下一个匹配的单元格
                Set c = .FindNext(c)
            Loop While Not c Is Nothing And c.Address <> cAddress And PBirthDay = ""
        End If
    
        '忙活了半天,没找到,再试试用字段名查找下吧。。
        If PBirthDay = "" Then
        '查找包含“出生日期”的单元格
            Set c = .Find("出生日期", LookIn:=xlValues)
            '如果找到
            If Not c Is Nothing Then
                '获取匹配单元格水平后面一个单元格的内容
                PBirthDay = Trim(c.Value)
    
                '去除字段名和分隔符
                If PBirthDay <> "" Then If Mid(PBirthDay, 1, 4) = "出生日期" Then PBirthDay = Mid(PBirthDay, 5, Len(PBirthDay))
                If PBirthDay <> "" Then If Mid(PBirthDay, 1, 1) = ":" Then PBirthDay = Mid(PBirthDay, 2, Len(PBirthDay))
                If PBirthDay <> "" Then If Mid(PBirthDay, 1, 1) = ":" Then PBirthDay = Mid(PBirthDay, 2, Len(PBirthDay))
    
                '获取匹配单元格水平后面一个单元格的内容
                If PBirthDay = "" Then
                    PBirthDay = sheet.Cells(c.Row, c.Column + 1)
                End If
            End If
        End If
    End With

    最后展示下整体效果。
    EXCEL VBA 模糊查询

    展开全文
  • 当你需要从不同供应商的价格表,筛选出符合条件的商品当你需要从每个月的工资表,筛选出某个员工的今年收入当你需要从相同格式的工作表,筛选出有用的数据...这时候你是否想有一个可以自动筛选的功能,而不是...

    当你需要从不同供应商的价格表中,筛选出符合条件的商品

    当你需要从每个月的工资表中,筛选出某个员工的今年收入

    当你需要从相同格式的工作表中,筛选出有用的数据...

    这时候你是否想有一个可以自动筛选的功能,而不是打开工作簿>选中数据>复制>粘贴>再打开一个工作簿。。。。

    今天,小编就带你用VBA实现这个多个表格自动的筛选功能!

    废话不多说,先看效果:

    1ff45ae8e739716faf42cb410865890c.gif

    多表格自动筛选

    附上代码:

    Sub Multifile()    Dim sName As String, Sql As String, strTbl As String, a() As String    Dim intTblCnt As Integer, intColCnt As Integer, t As Integer, c As Integer, f As Integer, Count As Integer    Dim Filename As Variant   '预先无法知道此数组大小,因预先无法知道要打开的文件数        intColCnt = Cells(1, 256).End(xlToLeft).Column       '要查找的字段个数    ReDim a(intColCnt + 2)           '确定数组的大小,此数组用于存放要查找的字段名          Filename = Application.GetOpenFilename("Microsoft Office Excel Files (*.xls), *.xls", , "请选取文件", , MultiSelect:=True)  '打开选取文件对话框,将选取的各文件全路径名存于 Filename 数组中    If Not IsArray(Filename) Then Exit Sub      '如果未选取文件,则退出程序        For Each fn In Filename  '在整个选择的范围内循环, fn 为 Filename 数组中的一项,是其中的一个全路径名        'Application.ScreenUpdating = False       '不显示处理过程        sName = Dir(fn)                       '从文件的全路径中取出文件名        Workbooks.Open fn              '打开文件以检查是否存在需要的字段名        Set cn = CreateObject("adodb.connection")       '(1)        With cn                                         '(2)            .Provider = "Microsoft.Jet.OLEDB.4.0"            .ConnectionString = "Data Source=" & fn & ";Extended Properties=Excel 8.0;"            .Open        End With        intTblCnt = ActiveWorkbook.Sheets.Count   '当前打开文件中的工作表数        For t = 1 To intTblCnt           '对文件中的表遍历            Count = 0                 '用于统计不被当前表包含的汇总字段的个数            ActiveWorkbook.Sheets(t).Activate      '激活当前遍历的表            Sql = ""                           '准备循环产生 sql 查询字符串            intFldsCnt = ActiveWorkbook.Sheets(t).Cells(1, 256).End(xlToLeft).Column'当前表第一行的列数,若为 0,则为空表,Sql 会保持为空 ""            strTbl = ActiveWorkbook.Sheets(t).Name   '当前表的名称            For c = 1 To intColCnt        '对于表中每个要汇总的字段进行遍历                Sign = 0               '用此标识 表中是否存在要汇总的字段                a(c) = ThisWorkbook.Sheets(1).Cells(1, c).Value  '将要汇总的字段名存入a中                a(c + 1) = ThisWorkbook.Sheets(1).Cells(1, c + 1).Value  '要汇总的下一个字段存入 a 的下一个元素中                For f = 1 To intFldsCnt       '遍历表中的每一列                    With ActiveWorkbook.Sheets(t)      '对于当前表                        If ActiveWorkbook.Sheets(t).Cells(1, f) = a(c) Then    '若字段存在                            Sign = 1             '将标志置为 1                            Sql = Sql & a(c) & ","  '逐次连接字段名                        End If                    End With                Next                     '遍历表中的列结束                If Sign = 0 Then         '若表中不存在此汇总字段                    'Sql = Sql & a(c + 1) & ","       则用下一个汇总字段代替                    'Count = Count + 1   '不被当前表包含的汇总字段的个数加 1                    GoTo Label1                End If            Next                          '对于表中要查找的字段遍历结束'若要汇总的字段为"借款单位"、"借款人",则以上遍历结束后,若存在这两个字段,则连接字段名表为'     借款单位,借款人,'在查询时,字段名表位于Select 与 from 之间,字段名之间用逗号分隔,而最后一个字段名后无逗号,所以需要将它去掉,可采用以下方法:            Sql = Left(Sql, Len(Sql) - 1)   '去掉最后的逗号            If Len(Sql) = 0 Or Count = intColCnt Then'假如连接字符串为空,说明当前表为空表'或者不被当前表包含的汇总字段的个数等于汇总字段的总数,说明当前表不包含任何汇总字段                GoTo Label1              '则进行下一个表的遍历            End If'否则,说明存在汇总字段,需进行汇总           Sql = "Select " & Sql & " FROM [" & strTbl & "$] "       '(3)           ThisWorkbook.Sheets(1).Cells(65535, 1).End(xlUp).Offset(1, 0).CopyFromRecordset cn.Execute(Sql)   '(4)'其中 Offset(行数,列数)                  可进行偏移'其中Cells(65535, 1).End(xlUp)            为第 1 列最下面的有数据的单元格,如果是 A30'则  Cells(65535, 1).End(xlUp).Offset(1, 0)   为向下偏移一行的单元格,则为 A31'所以每次循环后得到的汇总表总是接在上一次显示结果的后面显示,故能将每次从不同文件、不同表中得到的'汇总结果依次显示在一个表中Label1:        Next                              '对文件中的表遍历结束        cn.Close                          '关闭当前文件连接    '(5)        Workbooks(sName).Close False      '关闭当前文件,不保存    Next                                  '文件遍历结束Set cn = Nothing                          '(6)End Sub

    源文件下载地址《SQL3》

    链接:https://pan.baidu.com/s/1FoCl6EYExai_4DykoNcNTg

    提取码:cxx1



    b45bfaa84d0c543114d7a3f7e6e7b909.png

    0eef631cc7063a6555dcaa0e8c298f0b.gif

    展开全文
  • 如何把 word 文档中 表格数据导出

    千次阅读 2019-03-01 14:08:27
    word文档表格中字段数据中有段落标记(^p)符号,导致复制粘贴数据到 excel 中l时 ,会因为标记符号把本应是一个字段分成多个字段存储在不同的单元格中。 2.解决方法: 1.选中所有单元格 111&gt;.编写 vba...

    1.问题

             word文档表格中字段数据中有段落标记(^p)符号,导致复制粘贴数据到 excel 中l时 ,会因为标记符号把本应是一个字段分成多个字段存储在不同的单元格中。

    2.解决方法:

       1.选中所有单元格

               111>.编写 vba 代码

    1. 开发工具 ===>  宏 ===> 创建宏 ===> 编写 vba 代码

     

     

     

    Sub SelectAllTables()

        Dim tempTable As Table
        
        Application.ScreenUpdating = False
        
        '判断文档是否被保护
        If ActiveDocument.ProtectionType = wdAllowOnlyFormFields Then
            MsgBox "文档已保护,此时不能选中多个表格!"
            Exit Sub
        End If
        '删除所有可编辑的区域
        ActiveDocument.DeleteAllEditableRanges wdEditorEveryone
        '添加可编辑区域
        For Each tempTable In ActiveDocument.Tables
            tempTable.Range.Editors.Add wdEditorEveryone
        Next
        '选中所有可编辑区域
        ActiveDocument.SelectAllEditableRanges wdEditorEveryone
        '删除所有可编辑的区域
        ActiveDocument.DeleteAllEditableRanges wdEditorEveryone
        
        Application.ScreenUpdating = True
        
    End Sub

     

    2 将脚本编辑窗口中的默认代码删掉,粘贴复制上面的脚本,保存并关闭

     

    3 word---视图---宏----查看宏----运行刚创建的宏,在word中查看,所有表格已为选中状态。

    222>. 删除段落标记(^p)符号

    1. ctrl + H 显示替换窗口

    2. 查找内容输入: ^p

    3. 全部替换

     

    333>.选中需要复制粘贴的表格,粘贴到 excel 中。

     

    2.出现的问题

    word 文档中的表格通过上述方式选中,只能替换单元格中的特殊字符,不能把选中的表格数据复制粘贴到 excel 中

     

    展开全文
  • 函数作用:获取两栏相同的数据....................100 '100.函数作用:选取当前工作表公式出错的单元格﹐关返回出错个数...............................................101 '101.函数作用:将工作表最后一列...
  • 工作需要,总是遇到一些棘手的数据合并,例如下一个表格:我们需要将姓名重复的人员合并,后面的多个职责依次排列,如果仅仅是复制粘贴,工作就太恐怖了,还好我对VBA比较了解,针对此问题,写了一个VLOOKUP的扩展...
  • Excel_VBA教程

    2014-09-22 11:36:34
    第七章 利用VBA数组管理数据清单和表格 131 1.了解数组 132 2.声明数组 133 3.数组的上界和下界 133 4.在VBA过程里使用数组 134 5.数组和循环语句 135 6.使用二维数组 136 7.静态和动态数组 137 8.数组函数 139 9....
  • 以下代码为工作的真实案例(不是真实数据~~~),本人是销售方,每季度都要和关联方进行对账,这工作量大的可怕估计有五六十家关联方,我又不能把所有数据都发送给关联方,最好是根据每个关联方的名字来进行筛选,...
  • ExcelVBA程序设计.doc

    2011-04-05 21:32:51
    第七章 利用VBA数组管理数据清单和表格 131 1.了解数组 132 2.声明数组 133 3.数组的上界和下界 133 4.在VBA过程里使用数组 134 5.数组和循环语句 135 6.使用二维数组 136 7.静态和动态数组 137 8.数组函数 139 9....
  • Access 2007 VBA宝典 4/4

    2012-03-31 08:36:49
     11.2.2 将联系人数据从Access复制到Outlook(或反向操作)  11.3 使用附件  11.4 小结  第12章 深入学习  12.1 创建不同样式的Word发运标签  12.2 根据Access查询创建Excel数据透视图  12.3 使用电子...
  • Access 2007 VBA宝典 2/4

    2012-03-31 08:22:16
     11.2.2 将联系人数据从Access复制到Outlook(或反向操作)  11.3 使用附件  11.4 小结  第12章 深入学习  12.1 创建不同样式的Word发运标签  12.2 根据Access查询创建Excel数据透视图  12.3 使用电子...
  • Access 2007 VBA宝典 3/4

    2012-03-31 08:31:46
     11.2.2 将联系人数据从Access复制到Outlook(或反向操作)  11.3 使用附件  11.4 小结  第12章 深入学习  12.1 创建不同样式的Word发运标签  12.2 根据Access查询创建Excel数据透视图  12.3 使用电子...
  • Access 2007 VBA宝典 1/4

    2012-03-31 08:12:09
     11.2.2 将联系人数据从Access复制到Outlook(或反向操作)  11.3 使用附件  11.4 小结  第12章 深入学习  12.1 创建不同样式的Word发运标签  12.2 根据Access查询创建Excel数据透视图  12.3 使用电子...
  • Excel VBA 基础教程

    2019-01-01 18:51:06
    运算符....................................................................................................................................1 第三节 数据类型................................................
  • Excel VBA程序设计.doc

    2009-07-06 22:16:12
    第六课 提高Excel中VBA的效率 27 方法1:尽量使用VBA原有的属性、方法和Worksheet函数 27 方法2:尽量减少使用对象引用,尤其在循环 28 1.使用With语句。 28 2.使用对象变量。 28 3.在循环要尽量减少对象的...
  • Excel_VBA程序设计.pdf

    热门讨论 2009-08-31 23:05:20
    第六课 提高Excel中VBA的效率 27 方法1:尽量使用VBA原有的属性、方法和Worksheet函数 27 方法2:尽量减少使用对象引用,尤其在循环 28 1.使用With语句。 28 2.使用对象变量。 28 3.在循环要尽量减少对象的...
  • 第六课 提高Excel中VBA的效率 19 方法1:尽量使用VBA原有的属性、方法和Worksheet函数 19 方法2:尽量减少使用对象引用,尤其在循环 19 1.使用With语句。 19 2.使用对象变量。 20 3.在循环要尽量减少对象的...
  • EXCEL编程VBA高级教程

    2015-04-16 11:40:55
    第三节数据类型................................................................................................................................1 第四节变量与常量...........................................
  • 131.删除表格中使用范围内的所有空白单元格 132.返回数组中有多少个指定的字符串 133.返回当前工作表中引用了指定的单元的地址 134.获取Excel中字型列表 135.获取一个字符串中有多少个数字字符 136.在Excel中对多列...
  • 操作时可以利用窗口的按钮进行自动处理,你也可以在工作表按你平时使用方式直接操作,只是需注意对本总表的惟一要求是:第一行为表格项目且有班级一列和不合并单元格即可,其它不受任何限制。 窗口各按钮作用...
  • 操作时可以利用窗口的按钮进行自动处理,你也可以在工作表按你平时使用方式直接操作,只是需注意对本总表的惟一要求是:第一行为表格项目且有班级一列和不合并单元格即可,其它不受任何限制。 窗口各按钮作用...
  • MYSQL中文手册

    2013-03-11 21:21:34
    6.5. 不同MySQL版本之间的复制兼容性 6.6. 升级复制设置 6.6.1. 将复制升级到5.0版 6.7. 复制特性和已知问题 6.8. 复制启动选项 6.9. 复制FAQ 6.10. 复制故障诊断与排除 6.11. 通报复制缺陷 6.12. 多服务器...
  • 6.5. 不同MySQL版本之间的复制兼容性 6.6. 升级复制设置 6.6.1. 将复制升级到5.0版 6.7. 复制特性和已知问题 6.8. 复制启动选项 6.9. 复制FAQ 6.10. 复制故障诊断与排除 6.11. 通报复制缺陷 6.12. 多服务器复制中的...
  • mysql5.1中文手册

    2008-01-09 09:54:20
    不同MySQL版本之间的复制兼容性 6.6. 升级复制设置 6.6.1. 将复制升级到5.0版 6.7. 复制特性和已知问题 6.8. 复制启动选项 6.9. 复制FAQ 6.10. 复制故障诊断与排除 6.11. 通报复制缺陷 ...
  • 有朋友咨询个关于Excel打印数据问题,他的需求是这样的:下表是某公司人员信息表,现在领导要求将表格分部门打印出来,每位员工核对个人信息并签字。需求很明确,就是将相同部门的人员打印到一张纸上。打印很简单...
  • 5.2.6 复制数据 106 5.3 使用事务加快处理速度 108 5.4 使用定制的属性 109 5.5 小 结 111 第6章 ActiveX数据库对象 112 6.1 查看对象模型 112 6.1.1 ADODB 2.1对象模型 114 6.1.2 ADOX 2.1 for DDL ...
  • EXCEL 2007 宝典 附光盘文件

    热门讨论 2010-04-02 14:43:05
    county data.xlsx:一个包含一个大表格和从表创建的数据透视表的工作簿。 employee list.xlsx:一个包含演示数据透视表中非数字型数据表格的工作簿。 hourly readings.xlsx:一个包含演示按时间分组的时间...
  • 5.2.6 复制数据 106 5.3 使用事务加快处理速度 108 5.4 使用定制的属性 109 5.5 小 结 111 第6章 ActiveX数据库对象 112 6.1 查看对象模型 112 6.1.1 ADODB 2.1对象模型 114 6.1.2 ADOX 2.1 for DDL and ...
  • 中文版Excel.2007图表宝典 1/2

    热门讨论 2012-04-06 18:49:24
    3.2.1 通过复制数据区域添加一个新系列/56 3.2.2 通过扩展高亮区域添加一个新系列/57 3.2.3 通过“选择数据源”对话框添加一个新系列/57 3.2.4 通过输入一个新的SERIES公式添加一个新系列/58 3.3 删除图表系列/58 ...
  • 中文版Excel.2007图表宝典 2/2

    热门讨论 2012-04-06 19:01:36
    3.2.1 通过复制数据区域添加一个新系列/56 3.2.2 通过扩展高亮区域添加一个新系列/57 3.2.3 通过“选择数据源”对话框添加一个新系列/57 3.2.4 通过输入一个新的SERIES公式添加一个新系列/58 3.3 删除图表系列/58 ...

空空如也

空空如也

1 2
收藏数 40
精华内容 16
关键字:

vba不同表格中复制数据