精华内容
下载资源
问答
  • 前言:之前在使用工作簿与工作簿之间的数据连接时,使用的是vlookup手动做链接,然后断开连接并另存为的方式,虽然做好次后很方便,但是每次变动需求要修改的话都好累。比如我这里有36个,也就是相当于要做36次...

    前言:之前在使用工作簿与工作簿之间的数据连接时,使用的是vlookup手动做链接,然后断开连接并另存为的方式,虽然做好一次后很方便,但是每次变动需求要修改的话都好累。比如我这里有36个,也就是相当于要做36次vlookup!
    所以干脆写了一段代码,把一个工作簿里的数据直接黏贴到另一个工作簿里,根据列名自动查找匹配
    注:这里用的是字典,如果两个工作簿的列名一致的话,可以用数组来代替,更方便。

    Sub 日报数据复制(blank As String)
    
    '获得最大行数
    maxrow = Workbooks("!源数据(每日刷新).xlsm").Sheets("日报数据").UsedRange.Rows.Count
    
    '构建字典,key是原始列(需要复制的),value是目标列(需要黏贴的)
    Dim dict As Object
    Set dict = CreateObject("scripting.dictionary")
    dict.Add "日宽带发展量", "日宽带"
    dict.Add "月宽带发展量", "月宽带"
    dict.Add "日移动发展", "日移动"
    dict.Add "月移动发展", "月移动"
    dict.Add "日5G新增套餐", "日5G新增套餐"
    dict.Add "日5G存量套餐", "日5G存量套餐"
    dict.Add "日5G包", "日5G包"
    dict.Add "月5G新增套餐", "月5G新增套餐"
    dict.Add "月5G存量套餐", "月5G存量套餐"
    dict.Add "月5G包", "月5G包"
    dict.Add "日销售额", "日销售额"
    dict.Add "月销售额", "月销售额"
    dict.Add "日129及以上", "日129及以上套餐"
    dict.Add "月129及以上", "月129及以上套餐"
    dict.Add "月新增公客", "月公客宽带发展数"
    dict.Add "日主动拆机", "日宽带主动拆机"
    dict.Add "日宽带在线", "日宽带在线"
    dict.Add "月主动拆机", "月宽带主动拆机"
    dict.Add "月宽带在线", "月宽带在线"
    dict.Add "日橙分期", "日橙分期"
    dict.Add "月橙分期", "月橙分期"
    dict.Add "日叠叠乐", "日叠叠乐"
    dict.Add "月叠叠乐", "月叠叠乐"
    dict.Add "月叠叠乐副卡", "月新增副卡"
    dict.Add "日全屋wifi", "日全屋WIFI"
    dict.Add "月全屋wifi", "月全屋WIFI"
    dict.Add "日收费家庭云", "日家庭云"
    dict.Add "月收费家庭云", "月家庭云"
    dict.Add "新增宽带家庭云分母", "新增宽带叠加率分母"
    dict.Add "新增宽带家庭云分子", "新增宽带叠加率分子"
    dict.Add "日天翼看家", "日天翼看家"
    dict.Add "月天翼看家", "月天翼看家"
    dict.Add "日小翼管家", "日小翼管家"
    dict.Add "月小翼管家", "月小翼管家"
    dict.Add "日播播TV", "日播播TV"
    dict.Add "月播播TV", "月播播TV"
    
    For Each k In dict
        k_column = Workbooks("!源数据(每日刷新).xlsm").Sheets("日报数据").Rows(1).Find(k, LookAt:=xlWhole).Column '在第三行里找到和k一模一样的值的列号,如5
        k_col = CNtoW(k_column)
        v = dict.Item(k)
        v_column = Workbooks("日报模板(会用宏的可以用用).xlsm").Sheets("门店维度").Rows(3).Find(v, LookAt:=xlWhole).Column '获得value的列号,如6
        v_col = CNtoW(v_column)
        Workbooks("!源数据(每日刷新).xlsm").Sheets("日报数据").Range(k_col & "2:" & k_col & maxrow).Copy
        Workbooks("日报模板(会用宏的可以用用).xlsm").Sheets("门店维度").Range(v_col & "4:" & v_col & (maxrow + 3)).PasteSpecial Paste:=xlPasteFormulas
    Next
     
    End Sub
    
    '列数转字母
    Function CNtoW(ByVal num As Long) As String
        CNtoW = Replace(Cells(1, num).Address(False, False), "1", "")
    End Function
    
    '字母转列数
    Function CWtoN(ByVal AB As String) As Long
        CWtoN = Range("a1:" & AB & "1").Cells.Count
    End Function
    
    展开全文
  • VB编辑器,在N1所在后边添加数据  ### 特别注意r是对象  sub demo()  dim r as range    If Cells(i, 58) = 0 Then      Set r = Sheets("改动表").Range("N1", Sheets("改动...

    操作环境;VB编辑器,在N1所在列后边添加数据

     ### 特别注意r是对象
     sub demo()
     dim r as range
      
     If Cells(i, 58) = 0 Then
        
                
            Set r = Sheets("改动表").Range("N1", Sheets("改动表").Range("N1").End(xlDown))
                      
            Sheets("改动表").Cells((r.Row + r.Rows.Count), 14) = Cells(i, 14)

              
        End If

    end sub
         

    展开全文
  • 如何将一个Excel表格根据其中一列的分类自动拆分到不同的SHEET表中.
  • 例如:个综合性的excel报表,第1行C是省份,而且此综合性报表有多个sheet要拆分,想要实现拆分所有sheet,并按省份合并成一个excel表,比如所有辽宁省的数据合并成一个excel文件以不同的sheet体现。用此脚本即可...
  • 新增一列

    2010-05-28 13:55:00
    ALTER TABLE {TABLENAME} ADD {COLUMNNAME} {TYPE} {NULL|NOT NULL} CONSTRAINT {CONSTRAINT_NAME} DEFAULT {DEFAULT_VALUE}sql语法 转载于:...

    ALTER TABLE {TABLENAME}  
    ADD
    {COLUMNNAME} {TYPE} {NULL|NOT NULL}  
    CONSTRAINT
    {CONSTRAINT_NAME} DEFAULT {DEFAULT_VALUE} 
    sql语法

    转载于:https://www.cnblogs.com/jianshao810/archive/2010/05/28/1746247.html

    展开全文
  • 基本原理是定位到月度交易流水字段,并遍历每行,调用Split()函数将字符串拆分成数组,并调用简单的交换排序确保按月份降序排列,最后将每月交易流水填入新增中。 使用方法:打开该宏文件,切换到目标excel...
  • Sub 新增工作表_遍历现有所有工作表_... '新增工作表,并移动到第个位置,用于写入核实首数据 Worksheets.Add.name = "核实首" Worksheets("核实首").Move before:=Sheets(1) For i = 2 To Worksheets....
    Sub 新增工作表_遍历现有所有工作表_用于核实首列数据_无视隐藏工作表()
        Dim i As Integer
        '新增工作表,并移动到第一个位置,用于写入核实首列数据
        Worksheets.Add.name = "核实首列"
        Worksheets("核实首列").Move before:=Sheets(1)
        For i = 2 To Worksheets.Count
            Worksheets(i).Activate
            Columns(1).Select
            Selection.Copy Worksheets(1).Cells(1, i)
        Next
        Worksheets(1).Activate
        '插入首行,用于写入工作表名字
        Worksheets(1).Rows(1).Insert shift:=xlDown
        For i = 2 To Worksheets.Count
            Cells(1, i).Value = Worksheets(i).name
        Next
        Cells(1, 1).Select
    End Sub

     

    展开全文
  • Excel VBA批量复制文件到指定目录
  • Excel VBA一行代码搞定分组排序

    千次阅读 2019-12-08 19:14:56
    最近很多小伙伴都被分组排序所困扰,Excel没有现成的分组排序功能,想要这功能基本都是...各种选择,清除,新增,选择,清除,新增.还带上了一些默认设置.既然默认,那实际上是可以不用显示出来的呗 SORT 实际上只需要个...
  • VBA做日报

    千次阅读 多人点赞 2019-01-22 21:45:57
    其实东西并不多,只有8数据,用power query大概也就15分钟的时间,可是VBA我写了整整1天啊~~ 代码如下: 、基础模块: 1、vlookup Sub vmatch(list, cellstr, matchtab) 'vlookup匹配,li...
  • excel表中需要多需要填充公式,但是需要填充的表有几个、行记录数总变,因此自己编写了这个宏。 代码中:个函数负责获取每个表的有效记录最大行数,个函数负责填充公式。调用的Sub是个应用实例。 使用前建议...
  • Excel VBA 自动添加新行并递增ID

    千次阅读 2017-05-06 18:56:06
    Excel VBA 自动添加新行并递增ID用Excel 2010的VBA功能来处理数据,主要根据IP网段和网段IP个数,来生成每个IP地址,并进行ID编号。Sub AutoInsert() Line = 1531 Count = Cells(Line, 5).Value ''Count = 5 For ...
  • Sub AutoInputValNewExcel() Dim sh1, sh2 As Worksheet ...删除第个没有用的sheet MsgBox ( " 操作完成 " ) End Sub 如下图 转载于:https://www.cnblogs.com/hdl217/p/9365753.html
  • 本系列是假设种应用场景,键盘质量检查中,发现问题,如何在键盘图片上进行标记和后续的跟踪管理 其实也同样适用在其它应用场景,尤其与位置相关的质量特性管理上 核心知识点,用形状表示问题 Part 1: 项目功能...
  • 数据匹配之VBA

    千次阅读 2020-06-16 18:56:33
    1. 什么是VBA? Visual Basic for Applications(简称VBA)是新一代标准宏语言,是基于Visual Basic for Windows 发展而来的。它与传统的宏语言不同,传统的宏语言不具有高级语言的特征,没有面向对象的程序设计概念...
  • Word表格之VBA知识

    千次阅读 多人点赞 2019-01-28 13:56:10
    Table对象(因为是对象,...下面是Table的常用方法(注意是部分,不是全部,只例出重要的方法,下面的属性皆如此,如果详细面全部的了解,请看Word VBA自带的帮助。VBAWD10.chm) 使用Table对象 可使用 Tables(...
  • 在前面的进行WPS的安装率的统计中,使用两个FOR循环进行安装率的统计需要22秒以上,而使用个FOR循环仅用了3秒,我是直接更改录制的宏进行程序的编写,后来发现时间只要耗费在sheet之间的跳转,这些是可以避免的。...
  • 时 间:2016-08-02 13:29:20作 者:摘 要:用代码创建数据表并新增字段正 文:在DAO中,可以通过CreateTableDef方法在数据库中创建新的数据表,其具体的语法格式如下所示:Set[表对象变量]=[数据库对象]....
  • UDF.dll包含了组实用的用户自定义函数,提供了数组处理的快速方法,可以在VB6、VBS、32位VBA中调用。 看完如下的实例代码,就明白它的用处了。 Private MyUDF As New UDF.ArrayConversion Sub 是否包含某元素...
  • EXCEL VBA创建sheet/工作簿

    万次阅读 2019-05-29 11:02:34
    1.需要创建以地市命名的系列sheet,但不想手动创建改名。 代码实现如下: ... '定义个长整型变量 Sheets.Add After:=Sheets(Sheets.Count), Count:=Sheets(1).Range("A" & Rows.Count).End(...
  • Dim buffer As String ' 時的に文字を格納 ' ファイルを開く為のファイル番号を取得 fileNo = FreeFile ' 指定されたファイルを開く Open "C:\excel_vba_22_sjis.txt" For Input As #fileNo ' ファイルがEOF(フ...
  • 有个excel订单表 想在想读取 其中几个单元格里的数据 然后新增为一张表的几率 请教用access VBA 应该怎么做
  • 例如图1所示,这份“产品报价表”数是2,行数多达到674行,因此用这种的版式打印存在两大问题:第是每张纸的信息量较少,只有2内容,打印效果也不够美观;第二是纸张得不到充分利用,需要大量纸张,造成纸张...
  • 系统:Windows 10软件:Excel 2010 / Access 2010这个系列开展个新的篇章,重点关注Access数据库主体框架:以Excel作为操作界面,Access作为数据库今天讲讲如何新建工作表和字段()涉及知识:ADO,SQL今日歌曲:...
  • 、需求 根据sheet1所名称,添加并重命名新的工作表。 二、实现 1.按照从前往后的顺序 Sub cre_ren_sheets() Dim num% /* 定义为integer*/ num = Application.WorksheetFunction.CountA(Sheet1.Range("A:A")...
  • Background:公司的经营是不断变化的,通常我们在月初会收到份FC,但是在这之后,FC会不停的变化:增加,取消(概率小),减少数量(概率小) Logic: 1,
  • Scripting类库中有三个可以直接使用NEW关键字实例化的类,第个就是常用的字典,第三个是FSO。 这个介绍的挺好 https://www.cnblogs.com/zzstone/p/5530707.html 1.1scripting类库有多少东西? scripting....
  • Excel _VBA入门之第个小程序

    千次阅读 2018-08-27 15:55:11
    Excel _VBA(visual basic for application)入门 ————解决写程序处理机械重复的工作(自动数据处理技巧) 1.进入VBA编辑器(以下操作以Excel2013版本为例) a.文件-选项-自定义功能-开发工具(勾选)-确定或...
  • VBA根据A数据批量建立工作表的代码如下: Sub NewSht() 'ExcelHome VBA编程实践与学习 Dim Sht As Worksheet, Rng As Range Dim Sn, t$ Set Rng = Range("a2:a" & Cells(Rows.Co...

空空如也

空空如也

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

vba新增一列