精华内容
下载资源
问答
  • 2020-12-31 03:06:43

    Sub auto_Open()

    Call CreateToolBar

    End Sub

    Sub CreateToolBar()

    Dim ArrCaption(), ArrAction(), ArrFaceID(), ArrToolTip()

    Dim i As Integer

    ArrCaption = Array('查找', '功能二', '功能三')

    ArrAction = Array('查找选定单元格内容', 'Action_Query', 'Action_MonthEnd')

    ArrToolTip = Array('查找选定单元格内容', '待定', '待定')

    ArrFaceID = Array(8, 25, 984)

    With Application.CommandBars.Add(Name:='工具箱', temporary:=True)

    For i = 0 To 2

    With .Controls.Add(Type:=msoControlButton, temporary:=True)

    .Caption = ArrCaption(i)

    .OnAction = ArrAction(i)

    .FaceId = ArrFaceID(i)

    .Style = msoButtonIconAndCaptionBelow

    .TooltipText = ArrToolTip(i)

    End With

    Next

    .Visible = True

    End With

    End Sub

    Sub 打开工具箱()

    Application.CommandBars('工具箱').Visible = True

    End Sub

    Sub 关闭工具箱()

    Application.CommandBars('工具箱').Visible = False

    End Sub

    更多相关内容
  • VBA-定位单元格

    2020-12-14 19:51:52
    可以根据需要定位查找“标注”、“常量”、“公式”、“空值”、“可见单元格”等。 二、使用VBA的SpecialCells 方法 该函数和下面Excel面板功能相通: 其使用格式为:expression.SpecialCells(Type, Value) ...
  • 怎样用VBA查找选定区域内包含某字符串的单元格,并用设定的底色显示
  • VBA示例之 在特定的区域内查找文本,返回值是包含查找文本的单元格,供初学者参考,大牛勿进~~~~~~~
  • 目录 示例: 实现代码: ...参数SkipBlanks表示是否跳过空白单元格,若为True,则表示不将剪贴板中的空白单元格复制到目标区域。 参数Transpose表示是否转置,若为True,则表示转置。 示例: ..

    目录

    示例:

    实现代码:

    单元格对象的Clear方法

    动态表示数据区域

    单元格对象的Copy方法

    示例代码2.0

    单元格对象的选择性粘贴(PasteSpecial)方法

    参数Paste表示选择性粘贴的内容,可以为下表中的任何一个。

    参数Operation为粘贴的附加操作,可以为下表中的任何一个。

    参数SkipBlanks表示是否跳过空白单元格,若为True,则表示不将剪贴板中的空白单元格复制到目标区域。

    参数Transpose表示是否转置,若为True,则表示转置。


    示例:

        如图所示,该表为某公司某月销售人员的销售数据。在进行数据核对时,发现某些有问题的数据并将填充色改为灰色。现在需要将这些数据一次性筛选出来并复制到F:H列,该如何利用VBA实现?

    销售地区销售人员销售金额
    广州程建华135000
    深圳李国敏67200
    深圳袁志刚79500
    深圳周汉林225000
    广州骈永富15400
    广州孙玉梅2500
    上海陈亚菁37400
    上海康小芸12000
    上海刘晨22500
    广州齐光73500
    广州于健惠235000
    山东王文群136500
    山东曾国安21000
    广州刘志峰16000
    广州刘玉录78000
    广州俞卫广36000
    广州杨建军170000
    深圳曲波38000
    深圳林革壮73500
    深圳李卫卿45000
    广州申玲132000
    上海孙正发63000
    上海毛传阳106500
    广州张元端147000
    广州朱凌波265000
    山东张宏34500
    山东郦锡文300000
    广州张占斌32500
    广州曹阳205000
    广州周书敬22400
    广州姚胜215000
    深圳郭建19500
    深圳高波114000
    深圳卢卫120000

    实现代码:

    Option Explicit
    
    Sub 按颜色查找()
        Dim Rng As Range
        Dim RowN As Long
        
        '清除结果区域
        Range("F2:H" & Rows.Count).Clear
        
        RowN = 1
        For Each Rng In Range(Range("C1"), Cells(Rows.Count, "C").End(xlUp))
            '判断是否有填充色
            If Rng.Interior.Pattern <> xlNone Then
                '复制至结果区域
                Intersect(Rng.EntireRow, Columns("A:C")).Copy Cells(RowN, "F")
                '结果区域行+1
                RowN = RowN + 1
            End If
        Next
    
    End Sub

    单元格对象的Clear方法

        本例使用了单元格对象的Clear方法对单元格进行清除操作,该清除操作包括清除所有的数据以及格式。除了Clear方法外,Excel VBA还提供了其他清除单元格的方法,见表。

                                     表 单元格对象(Range)的Clear方法

        方  法

        说  明

    Clear

    清除单元格所有的内容、格式、批注、超链接、分级显示

    ClearComments

    清除单元格批注

    ClearContents

    清除单元格内容(公式,值)

    ClearFormats

    清除单元格格式(包括条件格式、自定义格式)

    ClearHyperlinks

    清除单元格超链接(无法消除Hyperlink函数所生成的链接)

    ClearNotes;

    清除单元格批注和语音批注

    ClearOutline

    清除单元格分级显示

    动态表示数据区域

        本例使用了Range对象的起点与终点表示方式来表示C列的数据区域,起点为C2单元格,而终点则使用End属性获取该列最后一个有数据的单元格。

    单元格对象的Copy方法

        单元格对象的Copy方法是将单元格(包括内容、格式、批注等)复制到指定的区域,其语法为:

    Rng.Copy [Destination]

        其中,Rng为单元格或单元格区域,参数Destination为目标单元格区域对象。Destination是可以省略的,当省略时,则表示将Rng复制到剪贴板,然后需要用Paste方法进行粘贴。因而本例复制单元格的部分也可以使用以下语句完成:

    Intersect(Rng.EntireRow,Columns("A: C")).Copy
    Cells (RowN,"F").Select
    ActiveSheet.Paste

    示例代码2.0

    Sub 按颜色查找1()
        Dim Rng As Range
        Dim RowN As Long
        
        '清除结果区域
        Range("F2:H" & Rows.Count).Clear
        
        RowN = 1
        For Each Rng In Range(Range("C1"), Cells(Rows.Count, "C").End(xlUp))
            '判断是否有填充色
            If Rng.Interior.Pattern <> xlNone Then
                '复制至结果区域
                Intersect(Rng.EntireRow, Columns("A:C")).Copy
                Cells(RowN, "F").Select
                ActiveSheet.Paste
                '结果区域行+1
                RowN = RowN + 1
            End If
        Next
    
    End Sub

    单元格对象的选择性粘贴(PasteSpecial)方法


        当不需要复制单元格的所有属性时,如只需要复制单元格格式时,可以使用选择性粘贴PasteSpecial方法进行。在使用PasteSpecial方法时,首先需要对源单元格使用Copy方法将单元格复制到剪贴板,然后对目标单元格使用PasteSpecial进行选择性粘贴。PasteSpecial的语法为:

    Rng.PasteSpecial [Paste],[Operation],[SkipBlanks],[Transpose]

    其中,Rng表示目标单元格区域。

    • 参数Paste表示选择性粘贴的内容,可以为下表中的任何一个。

                         表  PasteSpecial方法的Paste参数

        常  量

       

        说  明

    xlPasteAll

    -4104

    粘贴全部内容

    xlPasteAllExceptBorders

    7

    粘贴除边框外的全部内容

    xlPasteAllMergingConditionalFormats

    14

    将粘贴所有的内容,并且将合并条件格式

    xlPasteAllUsingSourceTheme

    13

    使用源主题粘贴全部内容

    xlPasteColmnnWidths

    8

    粘贴复制的列宽

    xlPasteComments

    -4144

    粘贴批注

    xlPasteFormats

    -4122

    粘贴复制的源格式

    xlPasteFormulas

    -4123

    粘贴公式

    xlPasteFomulasAndNumberFormats

    11

    粘贴公式和数字格式

    xlPasteValidation

    6

    粘贴有效性

    xlPasteValues

    -4163

    粘贴值

    xlPasteValuesAndNumberFormats

    12

    粘贴值和数字格式

    • 参数Operation为粘贴的附加操作,可以为下表中的任何一个。

      表 PasteSpecial方法的Operation参数

        常    量

           

        说  明

    xlPasteSpecialOperationAdd

    2

    复制的数据与目标单元格中的值相加

    xlPasteSpecialOpeiationDivide

    5

    复制的数据除以目标单元格中的值

    xlPasteSpecialOperationMultiply .

    4

    复制的数据乘以目标单元格中的值

    xlPasteSpecialOperationNone

    -4142

    粘贴操作中不执行任何计算

    xlPasteSpecialOperationSubtract

     3

    复制的数据减去目标单元格中的值

    • 参数SkipBlanks表示是否跳过空白单元格,若为True,则表示不将剪贴板中的空白单元格复制到目标区域。

    • 参数Transpose表示是否转置,若为True,则表示转置。

        PasteSpecial方法实质就是工作表的选择性粘贴的基本操作,其参数设置与操作选项的对应关系如图所示。

     

     

     

     

    展开全文
  • VBA查找重复单元格

    2011-08-18 10:34:53
    我的excel中有两列值,第一列的值有: A B C D .. 等等26个英文字母。 第二列空白。 第三列的值是: A D R G R W Z ..等等不重复的字母。...我希望能够在第二列里,显示第一列当前行的字母,是否在第三列中出现过;...
  • '从meta区域查找IP对应的行,包含但不限于应用/模块 ' Function FindServiceByIP(ip As Variant) As Long Dim Cell As Range, Rng As Range Dim endRow As Long endRow = Worksheets("meta".
    Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)
    
    '
    '从meta区域查找IP对应的行,包含但不限于应用/模块
    '
    Function FindServiceByIP(ip As Variant) As Long
    
        Dim Cell As Range, Rng As Range
        Dim endRow As Long
        endRow = Worksheets("meta").Range("B" & Rows.Count).End(xlUp).Row
    
        Set Rng = Worksheets("meta").Range("D4:D" & Worksheets("meta").Range("D" & Rows.Count).End(xlUp).Row)
        For Each Cell In Rng ' D列 ip列
            With Cell
                If InStr(CStr(.Value2), CStr(ip)) > 0 Then
                    FindServiceByIP = Cell.Row
                    Exit Function
                End If
            End With
        Next Cell
        FindServiceByIP = 0
    End Function
    
    
    Sub DoSetService()
        On Error Resume Next
        
        Dim IPCell As Range
        Dim endRow As Long
        Dim metaRow As Long
        Dim MoudApp As String
        
        Sheets("访问日志统计").Activate
        endRow = Worksheets("访问日志统计").Range("G" & Rows.Count).End(xlUp).Row
        If endRow < 1 Then Exit Sub
    
        Application.ScreenUpdating = False
        For Each IPCell In Range("G2:G" & endRow)
            MoudApp = ""
            With IPCell
                metaRow = FindServiceByIP(.Value)
                If metaRow > 0 Then
                    MoudApp = Worksheets("meta").Range("B" & metaRow).Value2 & "/" & Worksheets("meta").Range("C" & metaRow).Value2
                    Range("I" & IPCell.Row).Value = MoudApp 'I列设置为根据IP查询得到的邮乐资产里的模块/应用
                End If
                '比较邮乐资产的模块应用 与 接口调用时传递的自定义模块应用
                If StrComp(MoudApp, Range("E" & IPCell.Row).Value, 1) <> 0 Then
                    Range("J" & IPCell.Row).Value = "×"
                Else
                    Range("J" & IPCell.Row).Value = "○"
                End If
                
            End With
        Next IPCell
    
        Application.ScreenUpdating = True
    End Sub
    
    

    展开全文
  • VBA学习笔记7:查找包含某内容的单元格

    VBA学习笔记7:查找包含某内容的单元格

    用途:需要在工作表内包含某内容的单元格找出来

    需要将下图中包含9的单元格查找出来:
    在这里插入图片描述
    运行后效果如下:
    在这里插入图片描述

    代码如下:

    Sub 通过方法查找()
    '区域中查找所有包含9的数字
        Dim rng As Range, rngadress$, sht1 As Worksheet, sht2 As Worksheet
        Worksheets.Add(before:=Worksheets(1)).Name = "含9数据" '创建一个新表存储含9的数据
        [a1] = "含9数据"
        [b1] = "位置"
        Set sht1 = Worksheets(1) '含9数据表
        Set sht2 = Worksheets(2) '原表
        With sht2.UsedRange '在原表所有范围内查找
            Set rng = .Find(9, lookat:=xlPart) '模糊查找
            If rng Is Nothing Then '判断是否找到,如果未找到则说明1个没有,可直接结束(否则进入循环会报错,因为address不存在)
                sht1.[a2] = "无数据"
            Else
                rngadress = rng.Address '确定第一个的位置,为了结束循环使用
                Do
                    Set rng = .FindNext(rng)
                    sht1.Range("a1045876").End(xlUp).Offset(1, 0) = rng
                    sht1.Range("a1048576").End(xlUp).Offset(0, 1) = rng.Address
                Loop Until rngadress = rng.Address
                
            End If
        End With
    End Sub
    

    注意:

    1、Range(“要查找的区域”).Find
    (1)what :=要查找的内容 重要
    (2)after:=从哪个位置之后开始查找,如区域为"a1:a11",after:=a4,则查找顺序a5-a11-a1-a4
    (3)lookin:=查找的范围,xlvalues 查找值,xlformulas查找公式,xlcomments查找批注
    (4)lookat:=模糊匹配还是精准匹配,xlwhole精确匹配,xlpart模糊匹配
    (5)searchorder:=按照行查找还是列查找,xlbyrows 按行,xlbycolumns按列
    (6)searchdirection:=查找的方向,xlprevious向前查找,xlnext向后查找
    (7)matchcase:=是否区分大小写,true区分
    (8)mathchbyte:=是否区分全角半角,true区分
    (9)searchformat:=是否带格式查找,true带格式

    2、对于第一个要用is nothing判断,否则若为空值,会报错
    3、主要语法
    with range(…)
    set rng=.find(找谁,其他条件)
    if rng is nothing then
    … 如果没找到的操作
    else
    set rngaddress=rng.address
    do
    rng=.findnext(rng)
    loop until rng.address=rngaddress '结束循环
    end if
    end with

    展开全文
  • VBA模糊查询示例(使用单元格区域数据).xls
  • 为了实现图片这种效果:
  • Word VBA查找表格单元格的第一段,替换并保留原格式
  • 当行数增多的时候,记录或查找数据会错行,容易出现错误,如果将奇偶行设置成不同的颜色就好多了。就象这样 但是这样,如果在单元格之间拷贝数据,就会影响原来的底色,还要重新调整,比较麻烦,就想让她自动完成...
  • Excel VBA单元格格式

    2020-06-03 13:38:03
    你的VBA过程可能需要查明某个具体单元格的格式。我们可以使用NumberFormat属性来找回单元格格式: ?Range("A1").NumberFormat 在立即窗口输入上面的问题后,Excel显示“General” Range("A1").NumberFormat =...
  • 查找单元格中包含特定字符串中的某一个,并返回该特定字符串,查找单元格中包含特定字符串中的某一个,并返回该特定字符串
  • Sub 宏2() ' ' 宏2 宏 ' ' With Application.FindFormat.Interior .PatternColorIndex = xlAutomatic .Color = 65535 '黄色 .TintAndShade = 0 .PatternTintAndShade = 0 ... Cells.Find(What:="", After:=...
  • 查找合并单元格位置.xlsx源码EXCEL VBA宏编程xlsx实例代码下载查找合并单元格位置.xlsx源码EXCEL VBA宏编程xlsx实例代码下载查找合并单元格位置.xlsx源码EXCEL VBA宏编程xlsx实例代码下载查找合并单元格位置...
  • VBA示例函数之 求人不如自已动手 提取定串中汉字,供初学者参考,大牛勿进~~~~~~~
  • 2. Find方法的语法[语法]<单元格区域>.Find (What,[After],[LookIn],[LookAt],[SearchOrder],[SearchDirection],[MatchCase],[MatchByte],[SearchFormat])'_____...
  • Sub 给大于5的单价设置格式() Set i = Cells(Rows.Count, 2).End(xlUp) '动态查找第2列的最后一个单元格 Range([b2], i).ClearFormats '先将第2列内容的格式清除 For Each Rng In Range([b2], i) '这里使用了...
  • 这节对我的启发是,是否可使用Find/Match或其他方法来替代worksheetfunction.vlookup方法,从而提高工作中的一个报表的...'1 使用循环查找 (在单元格查找效率太低) '2 调用工作表函数 Sub c1() '判断是否存在...
  • 这个时候如果对多个数据一个个在目标sheet中ctrl f进行查找实在太过没有效率,这个时候我们通过VBA来实现批量查找并获取单元格的值。首先对情景进行模拟,如下要在这个目标sheet中进行查找:目标sheet查找的值为:要...
  • Vba代码集锦--Find方法(3)-查找所有符合条件的单元格并显示2018-09-14代码示例Sub aaa()"区域查找,从某区域查找所有符合条件的单元格并一一显示Dim MRG As Range, aaa As StringSet MRG = Range("A1:F20").Find("A...
  •  '使用通配符查找  h = 5  Set c = .Find(findx, LookIn:=xlValues)  If Not c Is Nothing Then  FirstAddress = c.Address  '在这里写根据第一个找到的单元格进行的操作  Do    '在这里写对根据...
  • 这是我个人运用Excel VBA在EXcel中实现的提取单元格中特定文字,并用”.“来标注此单元格是否存在这个字符的小程序。
  • 《excel吧提问-单元格摘要备注内容提取》,对单元格备注内容,分别提取姓名和金额 注意:sub中的正则匹配局限性较大,小心使用,且仅支持操作英文括号()内的内容 Private Function RE_STR(source_str As String, pat...
  • VBA有没有哪个函数可以从当前位置向上查找(例如字母a),返回a所在单元格位置
  • 《excel吧提问-单元格多数值》,返回多个单元格中出现最多次数的单元格的值 适用多个单元格单元格区域 Function majority(mode, ParamArray args()) '函数定义majority(单元格1...2种查找模式,"+"即多数、"-"即少数
  • 表格如下图: 1 1 2 2     2 1   2     3           1 1   2         1   2       1 2 3

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,691
精华内容 1,076
关键字:

vba 查找单元格位置