office绝招

1、如何批量修改ppt中的字体、大小、颜色

以office2003为例:视图——宏——新建宏,黏贴如下代码:

Sub OED01()
    Dim oShape As Shape
    Dim oSlide As Slide
    Dim oTxtRange As TextRange
    On Error Resume Next
    For Each oSlide In ActivePresentation.Slides
        For Each oShape In oSlide.Shapes
            Set oTxtRange = oShape.TextFrame.TextRange
            If Not IsNull(oTxtRange) Then
                With oTxtRange.Font
                    .Name = "楷体_GB2312"  
                    .Size = 20      
                    .Color.RGB = RGB(Red:=255, Green:=0,Blue:=0)
                End With
            End If
        Next
    Next
End Sub

按照自己需求修改代码中对应参数( .Name = “楷体_GB2312″;.Size = 20;.Color.RGB = RGB(Red:=255, Green:=0,Blue:=0) ),不需要修改的部分用单引号引掉即可,保存宏后运行。

2、Word画线条5大技巧

  • 输入三个“=”,回车,就是一条双直线
  • 输入三个“~”,回车,就是一条波浪线
  • 输入三个“*”回车,就是一条虚线
  • 输入三个“-”,回车,就是一条直线
  • ### 输入三个 “#”,回车, 就是一条隔行线。

3、如何对excel数据随机取样

面临的情景:有20w的数据,现在要做一个测试,只需要1k条数据,尽可能是随机取的,代表总样本。问题是20w的样本本来就是按照某个字段排好顺序的,去头1k条数据或者尾部1k条也不合理。

解决:

  1. 增加1列假设M,公式为“=RAND()”,然后用excel的十字拖取批量拉出数据
  2. 增加1列 假设N,将M整列“选择性黏贴”数值到N列
  3. 按照N列排序
  4. 选取头部1k条数据或者尾部1k条数据即可达到目的。

该方法还用于一些随机排座位等excel制作中

4、excel里用图形表示占有率变化趋势

enter image description here

方法: 整理成如下表格,选中这9列,插入——图表——面积图——堆积面积图

enter image description here

5、如何把excel表格里的数据代入到word里指定的地方?——邮件合并

使用Word的邮件合并,Excel文件做为数据源,然后插入域,即可。(详情

6、如何在excel中创建联动下拉框(例如如省市下拉输入)?——Offset或名称管理器法

  1. offset:创建索引表格sheet0,B列为全国所有城市,A列为城市所属的省份,假设共99行(99个城市) 在sheet1中,在A23中录入广东省,在B23中输入数据有效性公式为:

    =OFFSET(Sheet0!$A$1,MATCH(A23,Sheet0!$A$1:$A$99,0)-1,1,COUNTIF(Sheet0!$A$1:$A$99,A23),1)

    详情

  2. 名称管理器:将“广东省、广州市、深圳市……”作为A列,“湖南省、长沙市……”作为B列,…………,选中后在“公式”——“根据所选内容创建”——只选择首行——然后,换用另外一张sheet,A16入广东省,在其右边单元格B16中输入数据有效性公式为:=INDIRECT($K16),即可选广东省下所有城市了。

7、如何更改单元格中某段特定字符的颜色?

如一个单元格(xxyyzz)中,满足一定条件后,将yy改成另一种颜色,而xx、zz都不变

  1. 新建按钮:功能区空白处右键——“自定义功能区”——将“开发工具”打钩——在开发工具功能区中“插入”按钮控件即可。

  2. 为按钮设定宏:选中按钮——视图——“宏”——“查看宏”,输入如下宏代码

    Sub changecolor()
    Columns(1).Font.ColorIndex = 0

    a = “刘雅”
    For Each cel In Range(“k1:k” & Range(“a65536″).End(xlUp).Row)
    If InStr(cel, a) > 0 Then
    x = InStr(cel, a)
    cel.Characters(Start:=x, Length:=Len(a)).Font.ColorIndex = 3
    End If
    Next

    ‘复制如下一段,修改要染色字符串即可,颜色可自定义
    ‘——————————————————————————————
    a = “李” ‘将”李”替换成任意想染色的字符即可
    For Each cel In Range(“k1:k” & Range(“a65536″).End(xlUp).Row) ‘”k1:k”表示对k列染色,同理,”a1:a”表示对a列染色
    If InStr(cel, a) > 0 Then
    x = InStr(cel, a)
    cel.Characters(Start:=x, Length:=Len(a)).Font.ColorIndex = 4 ‘颜色:3表示红色,4表示绿色
    End If
    Next
    ‘——————————————————————————————

    End Sub

  3. 单击该按钮

浏览量(170) | 此条目发表在Windows问题, 计算机分类目录,贴了标签。将固定链接加入收藏夹。