精华内容
下载资源
问答
  • vba实现粘贴复制功能

    千次阅读 2021-02-06 22:22:00
    Sub 复制粘贴() '第1种 复制粘贴的方法--利用range的copy Range("C13:C21").Copy Range("F13") '第2种 Range("C13:C21").Copy Range("F13").Select ActiveSheet.Paste End Sub 学习了几天VBA,突然觉得啊,只有...

    vba实现粘贴复制功能

    Sub 复制粘贴()
    
    '第1种  复制粘贴的方法--利用range的copy
    Range("C13:C21").Copy Range("F13")
    
    '第2种  复制粘贴的方法--利用sheet的复制粘贴方法
    Range("C13:C21").Copy
    Range("F13").Select
    ActiveSheet.Paste
    End Sub

     

    学习了几天VBA,突然觉得啊,只有想不到的,没有做不到的。这话怎么讲呢?根据需求去学习很快,有些功能只有你想用的时候才最棒!


    展开全文
  • VBA学习之复制粘贴

    千次阅读 2019-09-30 23:30:05
    1 建立测试文件夹 每张表的内容如下: 在文件夹里建立5个相同内容的副本: 2 百度网上代码进行试用 ...Worksheets(Array("C:\Users\gui\Desktop\工作\VBA学习\数据\复制粘贴测试\test.xlsx",x_ "C:\...

    2019/9/30

    1 建立测试文件夹

    每张表的内容如下:
    在这里插入图片描述
    在文件夹里建立5个相同内容的副本:

    在这里插入图片描述

    2 百度网上代码进行试用

    代码1(原代码链接):

    Sub MoveSheets()
     
    '在下面Array中列出所有需要复制的工作表的名称
    '换行符为:空格+_
    
    Worksheets(Array("C:\Users\gui\Desktop\工作\VBA学习\数据\复制粘贴测试\test.xlsx",x_
      "C:\Users\gui\Desktop\工作\VBA学习\数据\复制粘贴测试\test - 副本.xlsx", "C:\Users\gui\Desktop\工作\VBA学习\数据\复制粘贴测试\test - 副本(2).xlsx",  _
      "C:\Users\gui\Desktop\工作\VBA学习\数据\复制粘贴测试\test - 副本(3).xlsx", _
      "C:\Users\gui\Desktop\工作\VBA学习\数据\复制粘贴测试\test - 副本(4).xlsx",  _
      "C:\Users\gui\Desktop\工作\VBA学习\数据\复制粘贴测试\test - 副本(5).xlsx")).Copy
     
    Set wbNew = ActiveWorkbook
     
    With wbNew
     
        ActiveWorkbook.SaveAs Filename:="C:\Users\gui\Desktop\工作\VBA学习\数据\复制粘贴测试\" & "合并.xlsx"
     
        .Close
     
    End With
     
    End Sub
    
    

    出现错误
    在这里插入图片描述
    时间:2019/10/5
    发现自己对上面代码中的工作表错理解为工作簿

    Sub MoveSheets()
     
    '在下面Array中列出所有需要复制的工作表的名称
    '换行符为:空格+_
    
    Worksheets(Array("Sheet1", "Sheet2")).Copy
     
    Set wbNew = ActiveWorkbook
     
    With wbNew
     
        ActiveWorkbook.SaveAs Filename:="C:\Users\gui\Desktop\工作\VBA学习\数据\复制粘贴测试\" & "合并.xlsx"
     
        .Close
     
    End With
     
    End Sub
    

    上面这段代码的实际作用:选择自己想要的sheet(工作表)复制粘贴到一个新的工作簿

    学习目标1

    将一个文件夹中的所有工作簿复制粘贴到一个新的工作簿中

    学习链接1
    学习链接2

    成功!!!
    重复上面步骤

    Public Sub 一键获取本文件夹工作表()
    
    Application.ScreenUpdating = False
    
    Dim f As String, i As Integer '定义变量
    
    Dim wb As Excel.Workbook  '定义工作簿,也就是最后合并的表格
    
    Dim sh, sh1 As Excel.Worksheet '定义工作表
    
    Set sh1 = ThisWorkbook.Worksheets("导入清单")  'sh1为导入清单sheet
    
    If Range("a65536").End(xlUp).Row > 1 Then 'A列最后一个有数据的单元所在的行数orA65535单元格向上,最后一个非空的单元格的行号
    
    sh1.Range("a2:b" & Range("a65536").End(xlUp).Row).Clear
    
    End If
    
    f = Dir(ThisWorkbook.Path & "\*xls*") '获取地址
    
    Do While f <> "" '地址不为空时执行,<>在VBA在是不等于的意思
    
    If f <> ThisWorkbook.Name Then
    
    Set wb = Workbooks.Open(ThisWorkbook.Path & "\" & f)
    
    For i = 1 To Sheets.Count
    
    sh1.Range("a" & sh1.Range("a65536").End(xlUp).Row + 1) = wb.Name '导入清单sheet工作簿名称
    
    sh1.Range("b" & sh1.Range("b65536").End(xlUp).Row + 1) = Sheets(i).Name '导入清单sheet中工作表名称
    
    Next
    
        Worksheets.Copy Before:=Workbooks(ThisWorkbook.Name).Sheets(1)
    
        wb.Close True
    
        End If
    
        f = Dir
    
    Loop
    
    sh1.Select
    
    Application.ScreenUpdating = True
    
    MsgBox "已为您成功导入" & Sheets.Count - 1 & "张工作表" '提示框内容
    
    End Sub
    

    学习目标2

    将所有工作簿中的工作表复制粘贴到同一个sheet中
    学习链接3

    'VBA for merge excel files,.just support for Excel 2007
    'Excel 2003 need change the codes
    'Author:naiveloafer
    'Date:2012-04-29
    Sub naiveloafer()
    Dim fs, f, f1, fc, s, x, rowss, columnss
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder("C:\Users\gui\Desktop\工作\VBA学习\数据\复制粘贴测试\") '复制对象的路径
    Set fc = f.Files
    x = 1
     
    For Each f1 In fc
     
    If Right(f1.Name, 4) = "xlsx" Then
    Workbooks.Open (f1.Path)
    rowss = Workbooks(f1.Name).Sheets(1).Range("A65536").End(xlUp).Row
    columnss = Workbooks(f1.Name).Sheets(1).Columns.Count
     
    Workbooks(f1.Name).Sheets(1).Range("A1:z" & CStr(rowss)).Copy
    Workbooks(1).Activate
    Workbooks(1).Sheets(1).Range("A" & CStr(x) & ":z" & CStr(x + rowss)).Select
    Workbooks(1).Sheets(1).Paste
    Application.CutCopyMode = False
     
    x = x + rowss
    Workbooks(f1.Name).Close savechanges:=False
    End If
     
    Next
     
    End Sub
    
    
    展开全文
  • 自动复制粘贴vba脚本 自动复制粘贴vba脚本 自动复制粘贴vba脚本 自动复制粘贴vba脚本
  • VBA窗体中实现右键菜单功能, 主要是常用的复制粘贴、剪切的实现
  • 可完成以下项目: 1.支持EXCEL VBA处理批量粘贴动作 2.支持对象窗体运行 3.高效处理大批量文件粘贴工作
  • EXCEL vba 循环复制 粘贴 另存为 新的文件VBA代码 分别设置单元格内容 With Workbooks(ThisWorkbook.Name) Application.EnableEvents = False Application.ScreenUpdating = False Application.DisplayAlerts = ...
  • 本期主要讲讲单元格复制粘贴等操作。 一、复制粘贴固定区域的单元格 因为以下内容都是复制单个或者固定区域的单元格内容,就不多说了,备注上面都有说明。 Option Explicit Sub CopyRange() '复制单元格内容...

    本期主要讲讲单元格复制粘贴等操作。

    一、复制粘贴固定区域的单元格

    因为以下内容都是复制单个或者固定区域的单元格内容,就不多说了,备注上面都有说明。

    Option Explicit
    
    Sub CopyRange()
        '复制单元格内容示例1
        '注意:单元格的格式、公式、批注等也会被复制过去哟
        Sheets(1).Range("A1").Copy Sheets(1).Range("B1")
    End Sub
    
    Sub CopyRange2()
        '复制单元格内容示例2,打开了下面2个工作表后,就可以通过工作表的名称进行复制啦
        Workbooks("测试表1.xlsx").Sheets(1).Range("A1").Copy _
        Workbooks("测试表2.xlsx").Sheets(1).Range("A1")
    End Sub
    Sub CopyRange3()
        '复制单元格内容示例3,和上面几乎一样
        Dim rng1 As Range, rng2 As Range
        Set rng1 = Workbooks("测试表1.xlsx").Sheets(1).Range("A1")
        Set rng2 = Workbooks("测试表2.xlsx").Sheets(1).Range("A1")
        rng1.Copy rng2
    End Sub
    Sub CopyRange4()
        '复制单元格内容示例4,复制区域,选择一个单元格进行粘贴
        Sheets(1).Range("A1:D5").Copy Sheets(2).Range("A1")
    End Sub
    Sub MoveRange1()
        '移动(剪切)单元格内容示例1。
        '注意:单元格的格式、公式、批注等也会被剪切过去哟
        '就是把Copy换成了Cut,其他几乎一样
        Sheets(1).Range("A1").Cut Sheets(1).Range("B1")
    End Sub

    二、复制粘贴可变单元格区域

    上面主要是讲的特定区域的,下面讲讲会变动的区域。比如一张表新增了一行,复制区域就改变了,有没有什么比较方便的方式解决呢?

    加个CurrentRegion就可以实现,用法如下。

    Sub CopyCurrentRange()
        '复制范围会变动的表格
        Sheets(1).Range("A1").CurrentRegion.Copy Sheets(2).Range("A1")
    End Sub

     

    从上面的图可以看出,新增了第15行张三点击运行后,仍然能正常复制过去。要复制的表如果有标题、有日期行,或者是筛选后的表格,仍然可以实现复制。

    如果要复制的区域是一个表,就可以用以下方式(感觉更复杂了点,好像没啥实际用途)

    第一,插入表格

    第二,重新命名,咱们插入表格之后,在设计——表名称那重命名一下,命名为Table111

    第三:这么操作就可以把表复制过去啦。

    Sub CopyTable()
        Sheets(1).Range("table111").Copy Sheets(2).Range("A1")
    End Sub

    经过实际使用,发现确实不怎么方便,当然了还有Range的End方法,这个在7月29号的文档里用过。

    Sub RangeEnd()
        '从A10000往上数,遇到有数据的最下面一行
        Debug.Print Sheets(1).Range("A10000").End(xlUp).Row
        '从A1往下数,有数据的最下面一行
        Debug.Print Sheets(1).Range("A1").End(xlDown).Row
        '从Z1往左数,有数据的最右边一列
        Debug.Print Sheets(1).Range("Z1").End(xlToLeft).Column
        '从A1往右边数,有数据的最右边一列
        Debug.Print Sheets(1).Range("A1").End(xlToRight).Column
    End Sub

    咱们表格范围是A1:D17大小的话,上面结果值分别为17,17,5,5。但是需要注意就是,选定单元格的那一行一列别有空值,不然返回的内容可能是空值附近的单元格哟。

    三、调整单元格区域

    用Range.Resize重新调整单元格区域,左边的参数是行数,右边的参数是列数。

    另外需要注意的是,调整后的区域是从原来区域左上角开始框哟。

    比如下面例子开始是框柱B2:D6,重新设置区域后,就从B2往下和往右算行列数。

    Sub RangeResize()
        Dim rng As Range
        Set rng = Range("B2:D6")
        Set rng = rng.Resize(8, 5)
    End Sub

    展开全文
  • 大家好,今日内容仍是和大家分享VBA编程中常用的简单“积木”过程代码,第NO.118-NO.120则,内容是:在复制单元格区域时,如何仅复制单元格区域的数值、使用直接赋值的方法选择性粘贴数值、在单元格区操作时,如何对...

    1912486b3b645fd123443c9d0cbdd047.png

    分享成果,随喜真能量。大家好,今日内容仍是和大家分享VBA编程中常用的简单“积木”过程代码,第NO.118-NO.120则,内容是:在复制单元格区域时,如何仅复制单元格区域的数值、使用直接赋值的方法选择性粘贴数值、在单元格区操作时,如何对字体格式进行设置等内容。

    04eacae1da15001becdb1ff513306737.png

    VBA过程代码118:在复制单元格区域时,如何仅复制单元格区域的数值

    Sub mynz()

    Sheets("6").Range("A1").CurrentRegion.Copy

    Sheets("11").Range("A1").PasteSpecial Paste:=xlPasteValues

    Application.CutCopyMode = False

    End Sub

    代码的解析说明:上述过程复制工作表Sheets("6")中A1单元格的当前区域的数值到工作表Sheets("11").的A1单元格所在区域中。

    f8561801e4a1b474e202c2eb4d06005b.png

    VBA过程代码119:使用直接赋值的方法选择性粘贴数值

    Sub mynz()

    With Sheets("6").Range("A1").CurrentRegion

    Sheets("11").Range("A1").Resize(.Rows.Count, .Columns.Count).Value = .Value

    End With

    End Sub

    代码的解析说明:上述过程复制工作表Sheets("6")中A1单元格的当前区域的数值到工作表Sheets("11").的A1单元格所在区域中。

    在对单元格区域直接赋值时,应保证源区域大小与目标区域的大小一致,如果源区域为动态的单元格区域,可使用Resize方法确定目标区域。

    caa909b67d0f7a20f1c9ec802a3bc4f4.png

    VBA过程代码120:在单元格区操作时,如何对字体格式进行设置

    Sub mynz()

    Sheets("12").Select

    With Range("A1").Font

    .Name = "华文彩云"

    .FontStyle = "Bold"

    .Size = 28

    .ColorIndex = 3

    .Underline = 2

    End With

    End Sub

    代码的解析说明:上面过程可以实现对单元格A1的字体格式进行设置。其中代码.Name设置字体为“华文彩云”,应用于Font对象的Name属性返回或设置对象的名称。

    代码.FontStyle设置字体为加粗,FontStyle属性返回或设置字体样式。设置为“Bold” 加粗字体,设置为“Italic”倾斜字体,也可以设置成“Bold Italic”。代码.Size设置字体的大小为18磅,Size属性返回或设置字体大小。代码.ColorIndex设置字体的颜色为红色,应用于Font对象的ColorIndex属性返回或设置字体的颜色,该颜色可指定为当前调色板中颜色的编号.看下面的编码方案:

    代码.Underline设置字体为单下划线类型,Underline属性返回或设置应用于字体的下划线类型,可为下面的XlUnderlineStyle常量之一。

    xlUnderlineStyleNone -4142 无

    xlUnderlineStyleSingle 2 单下划线

    xlUnderlineStyleDouble -4119 双下划线

    xlUnderlineStyleSingleAccounting 4 会计用单下划线

    xlUnderlineStyleDoubleAccounting 5 会计用双下划线

    越简单的事物往往越容易理解,简单的过程组合起来就是一个复杂的过程,我们要先认真掌握这些简单的过程,才能在可以为我们复杂的工程服务。

    下面是我根据自己20多年的VBA实际利用经验,编写的四部教程,这些是较大块的“积木”,可以独立的完成某些或者某类系统的过程,欢迎有需要的朋友联络(WeChat:NZ9668)分享。利用这些可以提高自己的编程效率。这些教程供有志于提高自己能力的朋友选择。

    第一套:《VBA代码解决方案》PDF教程,是VBA中各个知识点的讲解,覆盖了绝大多数的知识点,是初学及中级以下人员必备的资料。

    第二套:《VBA数据库解决方案》PDF教程。数据库是数据处理的利器,对于中级人员应该掌握这个内容了。

    第三套:《VBA数组与字典解决方案》PDF教程,讲解VBA的精华----字典,是我们打开思路,提高代码水平的必备资料。

    第四套:《VBA代码解决方案》视频教程。目前正在录制,现在推出“每天20分钟,半年精进VBA”活动,越早参与,回馈越多。现在第一册48讲内容已经录制完成。录制到第二册71讲的课程,第二级阶段的优惠期开始。

    展开全文
  • Copy + Paste大法,其实自己个录个宏就行的 Range("C18").Select Selection.Copy Selection.PasteSpecial ...代码自己手工改改,如下: Sheet1.Range("C18").Copy Sheet1.Range("C18").PasteSpecial Paste:=xlPaste
  • excel vba复制黏贴 Using VBA to program Excel isn't as popular as it once was. However, there are still plenty of programmers who prefer it when working with Excel. If you are one of those people, this...
  • VBA复制粘贴效率问题

    2011-09-05 19:39:00
    其中关于复制粘贴这块,想随便唠叨几句。 由于需要的特殊性,我们需要对每个单元格进行拷贝粘贴,28天即28行,102个KPI即102列,在加上KPI的title,时间列和cluster列,共29行,104列 开始的时候使用Range.Copy 和...
  • VBA - 粘贴为数值型

    万次阅读 2017-03-26 16:42:26
    Private Sub PasteValue() '粘贴为数值型 Application.ScreenUpdating = False '关闭屏幕刷新 '循环选择的可见区域 For Each r In Selection.SpecialCells(xlCellTypeVisible... ' 复制 -> 粘贴为数值型 r.Copy r.P
  • vba中excel和word复制粘贴

    千次阅读 2016-05-07 13:16:50
    先上代码:  Application.ScreenUpdating = False '关闭屏幕刷新'  Dim oprate_times As Integer  Worksheets("报告生成").Range("B2:T11").Copy  Word.Application.Documents("herui.docm").Bookmarks...
  • VBA窗体右键复制粘贴功能实现

    千次阅读 2016-06-18 23:28:02
    VBA学的不精,为了自用,做了一个窗体,里面的文本框Textbox需要用到右键复制粘贴的功能。 在网上找了许多例子,有太多复杂的东西,没看懂,抄到自己的软件里的时候,总是报错。 后来我在网上找到了一个可以用的。...
  • VBA用Copy方法进行复制粘贴,往往会导致粘贴的数据没有了行高和列宽。那么,当我们要进行复制粘贴时,如何保证粘贴的数据保留原有的格式(包括行高列宽都不能变)。 笔者以一个模板设计为例进行说明。 模板表如图1 所...
  • VBA 拷贝并粘贴内容

    千次阅读 2020-08-25 23:32:31
    由于有点学习得比较仓促,很多内容运用得不熟练,现在开始呢对部分问题试着自己解决一下,今天先来个简单的,后面慢慢加大难度。... sheet1功能: ...(3)把sheet2的数据复制到sheet1的显示区域。 (4)把复.
  • 最重要的一点,原来复制单元格竟然可以用赋值语句来完成,简直是神操作啊。Option Explicit '1 单元格输入 Sub t1() Range("a1") = "a" &amp; "b" Range("b1")...
  • VBA中实现Excel表格单元格复制,可以根据需要自行定制要复制的内容。包括值、格式、单元格宽度、背景色等
  • ' 复制本文档所有内容至一个新建的文档中 ' ' Selection.WholeStory Selection.Copy Documents.Add DocumentType:=wdNewBlankDocument Selection.PasteAndFormat (wdPasteDefault) End Sub ...
  • 最近一个同学想要写一段VBA代码实现以下功能(我简化了要求):一个表中有很多个excel文件,每个文件有类似的表格,代码实现把每个文件的表格复制到另一个excel文件中。折腾开始...... 之前没搞过VBA,我用的是wps抢...
  • 下面介绍通过VBA,如何自动化跨工作簿复制粘贴及排序。 图一 图二 将图一工作簿中三个子表含有公式的数据,复制粘贴数值到图二的表1,并进行排序,可以直接点击图二中执行的控件即可完成;以下是VBA脚本的实现...
  • 前言:困扰了我一段时间的问题终于解决了!!   解决方法:设置相同的输入法 ...那么在你复制代码的时候,要把输入法调成日文输入法后再复制。   在粘贴的时候也有把粘贴时的输入法调成日文后,再进行粘贴操作。
  • 如下代码:将工作簿 测试(1)的第一个工作表的A1:T10000区域的数据,复制粘贴到工作簿 测试 的第一个工作表的A1:T10000区域 Sub GetData_2() Dim WB As Workbook, WB_1 As Workbook Set WB = Workbooks.Open("C...
  • 模块代码 Private ActiveTB As MSForms.TextBox Public Sub CreateShortCutMenu() Dim ShortCutMenu As CommandBar Dim ShortCutMenuItem As CommandBarButton Dim sCaption As Variant Dim iFaceId A...
  • Excel的VBA基本操作 使用VBA之前 我使用的office版本为microsoft office 365。 首先需要在office软件里启用宏功能。 依次:选项——>信任中心——>信任中心设置——>宏设置——>启用VBA宏 完成以上步骤...
  • VBA复制Excel数据速度过慢解决方法 在使用VBA语句实现对Excel文件自动化处理过程中,当所操作的数据量很大时,会发现程序执行起来很慢,而且Excel文件中行数越多,速度越慢,这时除了改进程序,编写得更加高效方法外...
  • 复制指定目录下excel工作簿中同名工作表,该代码将在相同目录下创建汇总工作簿,各工作簿中同名工作表将被分别复制到汇总工作簿的不同表中(汇总工作簿中各工作表以分工作簿名命名)。 所有要汇总的工作簿在同一个...
  • 如有不会的可以参考这三篇文章:手动复制粘贴?这个小技巧,3分钟搞定100份Word文档的定制和发送!​mp.weixin.qq.com邮件合并「下篇文章」:文档拆分就这么办!!​mp.weixin.qq.com「邮件合并」从合并到拆分的完整...
  • 这些文件位于.vb扩展名中,您可能需要复制才能粘贴鳕鱼以使其正常工作。 支持/发展 如果您有兴趣参加我参与的其他一些项目,这些项目与我目前所做的工作有关,那么我现在可以为小型,大型和企业团队提供远程和现场...

空空如也

空空如也

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

vba复制粘贴代码