将 VBA Range 复制粘贴到另一工作表 循环并转置数据

2023-12-04

对于 Excel 中的模型,我想将数据从工作簿中的一张工作表复制并粘贴到工作簿中的另一张工作表,并使用 for next 循环转置此数据。来自工作文件 CME 的数据应粘贴到 RME 工作文件中。数据总行数为2420。但是,由于复制和粘贴不同工作簿中的范围不同且步长不同,因此我假设我应该使用两个不同的变量i和j。前两行代码是手动方式,无需循环

当我尝试运行这段代码时,它会给我一个错误。第一个代码是如何在没有循环的情况下手动完成的示例。此后循环开始。非常感谢能够帮助我解决这个问题的人。

文件中的示例:在 Excel 工作表 CME 中:复制范围 J2:J10 将其传输到工作表 RME 并粘贴到 B2:J2 上,因此其中具有转置函数非常重要。对于下一个范围,我需要复制范围 J12:J20 以将其传输到工作表 RME 以粘贴到 B3:J3 等上,因此我需要创建一个循环,对吗?复制和粘贴范围有两种不同的步长。已经非常感谢了!

我想出了以下公式:

Dim i As Long
Dim j As Long

Worksheets("CME").Range("J2:J10").Copy
Worksheets("RME").Range("B2").PasteSpecial Transpose:=True

Worksheets("CME").Range("J12:J20").Copy
Worksheets("RME").Range("B3").PasteSpecial Transpose:=True

For i = 11 To 2420 Step 10
    Worksheets("CME").Range (Cells(i + 11, 10)), Cells(i + 19, 10).Copy

    For j = 3 To 2420 Step 1
    Worksheets("RME").Range(Cells(j + 1, 2)).PasteSpecial Transpose:=True
    Next j

Next i

End Sub   

我对你到底想做什么有点困惑,但是这样做可以吗?:

第一个代码:不使用转置

Sub Test()

Dim X As Long, Y As Long, Z As Long

Z = 2
For X = 2 To 2420 Step 10
    For Y = 2 To 10
        Sheets("RME").Cells(Z, Y).Value = Sheets("CME").Cells(X + (Y - 1), 10).Value
    Next Y
    Z = Z + 1
Next X

End Sub

第二个代码:使用转置

Sub Test()

Dim X As Long, Z As Long
Dim RNG1 As Range, RNG2 As Range

Sheets("CME").Activate
Z = 2
For X = 2 To 2420 Step 10
    Set RNG1 = Sheets("CME").Range(Cells(X, 10), Cells(X + 9, 10))
    Set RNG2 = Sheets("RME").Cells(Z, 2)
    RNG1.Copy
    RNG2.PasteSpecial Transpose:=True
    Z = Z + 1
Next X
Sheets("RME").Activate

End Sub

Note:在较大的数据库上执行复制/粘贴和转置需要更长的时间。比较上面的两个代码示例:

  • 第一个代码:0.13秒
  • 第二个代码:5.5秒
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 VBA Range 复制粘贴到另一工作表 循环并转置数据 的相关文章

  • Excel VBA - 如何逐行读取csv文件而不是整个文件

    这是我需要读取的 csv 文件内容 header header header header header header value value value value value value value value value 我在网上找到
  • 将包含换行符的文本文件导入到 Excel 中

    我有一个纯文本文件 如下所示 some text containing line breaks 我正在尝试说话excel 2004 Mac v 11 5 正确打开此文件 我希望只看到一个单元格 A1 包含上述所有内容 不带引号 但可惜的是
  • java实现excel价格、收益率函数[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 VBA 中按键对字典进行排序

    我使用 VBA 创建了一个字典CreateObject Scripting Dictionary 将源单词映射到要在某些文本中替换的目标单词 这实际上是为了混淆 不幸的是 当我按照下面的代码进行实际替换时 它将按照源单词添加到字典中的顺序替
  • 使用 VBA 通过简单命令从非连续范围的并集获取值到数组中(无循环)

    我有以下任务 表面上很简单 使用 VBA 将电子表格上多个列的值复制到二维数组中 为了让生活更有趣 这些柱子并不相邻 但它们的长度都相同 显然 可以通过依次循环每个元素来做到这一点 但这看起来非常不优雅 我希望有一个更紧凑的解决方案 但我很
  • For...VBA 中的下一个循环超出限制

    我正在使用一个For Next循环填充数组 如下所示 ReDim array 1 to 100 1 to 100 For i 1 to 100 Next i But the i计数器似乎总是转到 101 而不是停止在 100 因此 这会在我
  • 将表行从 Word 文档复制到现有文档表特定单元格

    我正在寻找一个宏 它将内容从一个 Word 文档中的表格复制到另一个现有 Word 文档中的表格到特定单元格中 从第 5 行开始 复制后面的所有行并将其粘贴到现有文档中的第 5 行 这可能吗 在此输入图像描述 https i stack i
  • 如何使用 Excel Interop 获取筛选行的范围?

    我正在为我的项目使用 Excel Interop 程序集 如果我想使用自动过滤器 那么可以使用 sheet UsedRange AutoFilter 1 SheetNames 1 Microsoft Office Interop Excel
  • 查找并替换目录中所有 Excel 文件工作簿中的字符串

    我正在编写 VBA 代码来替换位于特定目录中的多个 Excel 文件 工作簿 中的特定字符串 我尝试在 Stack Overflow 上搜索 找到答案 但这与通过 Excel 中的宏替换文本文件中的字符串有关 相同的链接是查找并替换文件中的
  • laravel中过滤后如何导出excel?

    我想仅导出视图刀片中过滤的数据 我正在使用 Laravel 7 和 maatwebsite excel 3 1 和 PHP 7 4 2 我浏览了文档并应用了这个 View a href class btn btn success i cla
  • 使用Jquery(或js)在html表格上循环遍历列的单元格(不是行的单元格)?

    使用 jQuery 循环遍历单元格或行很简单 但循环遍历列的单元格并不简单 for cells of rows I will do this table tr each function index elem loop through ce
  • Word通过vba宏删除tabe列出现错误

    我想将excel中的数据复制到word表中 然后从表中删除一些列 我可以将数据复制到表中 但是当我删除列时会出现错误 无法访问此集合中的各个列 因为该表具有混合的单元格宽度 我的代码 Public Tbl1 As Table Sub cal
  • 复制一张工作表上的静态范围,然后根据单元格中的单个值粘贴到另一张工作表中的动态范围

    我对这个问题分为三个部分 我在 Sheet1 A1 中有一个带有周数的单元格 我在 Sheet1 B1 F1 中有一个需要复制的静态范围 然后 我需要将该值粘贴到 Sheet2 中的动态范围中 偏移量为行的周数 这是我正在为我经常使用的工作
  • Outlook 无法识别一个或多个姓名

    我有以下 vba 代码 它读取邮箱并向任何发送无效代码作为邮箱回复的用户发送回复 但有时会收到运行时错误 Outlook 无法识别一个或多个名称 我的问题是 创建新的 MAPI 配置文件是否可以解决该问题 或者我是否需要添加一个代码来解析地
  • EPPlus Excel 行高不一致

    我已经使用 EPPlus 生成了一个 excel 文件 在 MS Office 2007 中一切似乎都很完美 但客户端使用的是 MS Office 2010 2013 并且在第 29 行之后未设置行高 这是一个非常奇怪的问题 我已经尝试了
  • 根据单元格值向用户窗体添加复选框

    我对 VBA 很陌生 只有 3 天 但我发现它非常有用且易于使用 但现在我面临一个问题 我需要制作一个具有不同复选框的用户窗体 但我需要根据工作表某一列中使用的信息自动添加它们 我相信我可以使用 For Each Next 但我真的不知道如
  • 在从一个表中提取的循环内调用执行以执行宏

    我目前有以下情况 macro sqlloop event id lots of code mostly proc sql segments mend 生成一个输出表 名为export table2 我需要能够为另一个表 名为 vars 中的
  • 在组合框中显示可见工作表

    您好 我有以下代码来在组合框中显示工作表 创建工作表后 工作表会自动添加到列表中 我不希望隐藏的工作表在保管箱中可见 我怎么做 Option Explicit Private Sub ComboBox1 Change If ComboBox
  • Pandas 0.22.0:IndexError:读取 xls 时列表索引超出范围

    我正在尝试将 282Mb 65536 行 x 138 列 xls 文件加载到 pandas 数据框中 import pandas as pd import os filename r invoicing xls dir os path di
  • 文件夹.文件的相对路径

    我有一个 Excel 文件 在同一文件夹中还有一个包含我想要包含的 CSV 文件的文件夹 使用 来自文件夹 查询 第一步将给出以下查询 Folder Files D OneDrive Documents Health Concept2 现在

随机推荐

  • 如何在 Go Web-Server 和 Vue.js 前端之间交换数据? http 帖子:404

    我试图了解如何在非常精简的 golang Web 服务器和 vue js 前端之间交换数据 这是 server gorillamux go 文件 package main import encoding json github com go
  • 如何使用反射调用 IDBSet.FirstOrDefault(predicate)?

    给定一个 IDbSet 其中 Person 包含 Id 属性 我通常如何执行以下命令 var p PersonDbSet FirstOrDefault i gt i Id 3 我可以构建谓词 并获取对 FirstOrDefault 扩展方法
  • 使用 Oracle Wallet 从 PHP 连接到 Oracle DB

    是否可以将 PHP 配置为使用安全的外部密码存储 如中所述http download oracle com docs cd B19306 01 network 102 b14266 cnctslsh htm 是的 这是可能的 您需要 1 创
  • ActiveRecord 中的浮点型与小数型

    有时 Activerecord 数据类型让我感到困惑 呃 经常 我永恒的问题之一是 对于特定情况 我应该使用 decimal or float 我经常看到这个链接ActiveRecord 十进制与 浮点 但答案还不够明确 无法让我确定 我见
  • 无法使用命名空间从动态类中获取常量

    我无法从使用字符串变量和 PHP 5 3 定义的类中获取常量 命名空间 例子 use Some Foo Bar class Bar echo class LOCATION 其中 LOCATION 是一个正确定义的常量 我收到的错误表明 Ba
  • 如何以印地语语言以 unicode 形式存储数据

    我在用PHP and MySQL申请 问题是 如何将数据存储在MySQL 可读格式或 format 当用户在文本框中输入数据并单击提交时 我们会获得不同格式的数据 我们需要做什么来转换并存储在MySQL以可读的格式 选择utf8字符集并ut
  • 具有重复标签的ggplot轴自定义顺序

    set seed 357 x lt data frame name sample letters 10 val runif 10 stringsAsFactors F x c 2 6 name lt c k k ggplot x aes x
  • 主要 C/C++ 编译器生成的代码中的寄存器分配规则

    我记得以前 32 位 Intel 处理器之前 的一些规则 当时 至少对我来说 非常频繁地必须分析 C C 编译器 在我的例子中 当时是 Borland Turbo 生成的汇编输出查找性能瓶颈 并将汇编例程与 C C 代码安全地混合 诸如使用
  • 代码签名错误,如何将 Xcode 项目切换到另一台 Mac?

    我知道如何使用 Xcode 和一切 但这是一个初学者问题 我刚刚买了一台新的 MacBook Pro 我专门用它来开发 iPhone 我将主要应用程序项目从 Mac Mini 转移到了 MacBook Pro 这样我就可以在两台设备上工作
  • 如何重新启动一个线程

    我尝试编写一个文件监视器 如果附加了新行 它将检查文件 该监视器实际上是一个线程 它将始终通过随机访问文件读取该行 这是监控核心代码 public class Monitor public static Logger log Logger
  • 如何在 idl 中声明 IStream,以便 Visual Studio 将其映射到 s.w.interop.comtypes?

    我有一个 COM 对象 需要从 C 客户端获取流并对其进行处理 看来我应该使用 IStream 所以我像下面这样写我的idl 然后我使用 MIDL 编译为 tlb 编译我的解决方案 注册它 然后将对我的库的引用添加到 C 项目 Visual
  • C++ 字符串转二进制代码 / 二进制代码转字符串

    我需要将一个字符串转换为带有第一个字符串的二进制代码的字符串 对于第一部分 我使用了这个 将字符串转换为二进制的最快方法 工作完美 但我无法找到将其写入新字符串的方法 这是我到目前为止使用的代码 for size t i 0 i lt ou
  • Python循环遍历字符串并将其与通配符模式匹配

    string1 abc string2 abdabcdfg 我想知道 string1 是否是 string2 的子串 但是 也有通配符 例如 可以是任何字母 y can be a or d x can be b or c 因此 yx 将是子
  • SQL - WHERE 条件的顺序重要吗?

    假使 假设category id是表的索引键 不是主键 books 下面两条SQL语句有什么区别吗 SELECT FROM books WHERE author Bill AND category id 1 SELECT FROM book
  • 如何在 SymPy 中加速缓慢的矩阵乘法?

    我正在编写一个工具来使用 SymPy 求解特定的递推方程 并发现涉及矩阵乘法的步骤之一花费了非常长的时间 例如 如果我在 iPython 控制台中尝试以下操作 In 1 from sympy import In 2 A Matrix 500
  • 使用 ncurses pad 在 C 中滚动

    我试图在 ncurses 中获取一个窗口 在其中写入 mysql 查询的结果 但查询返回的行数比我终端中的行数多 所以我尝试创建一个垫子 以便我可以滚动浏览结果 但问题是 我的终端上没有可见的键盘 我只是简化了代码 但它仍然不适合我 inc
  • 完全合格的域名验证

    是否有一种快速而肮脏的方法来验证是否输入了正确的 FQDN 请记住 没有 DNS 服务器或互联网连接 因此必须通过 regex awk sed 完成验证 有任何想法吗 4 253 a zA Z0 9 1 63
  • CORS 错误,但仅在 POST 请求时出现,尽管有 cors 配置(GET 没有问题)

    我使用 Nodejs Express 服务器 尽管允许主机 但我仍然遇到 CORS 错误 请求中不存在 Access Control Allow Origin 标头 资源 但仅适用于 POST 端点 GET 没有问题 我的客户端浏览器允许使
  • 生成 PDF 时出现堆栈溢出异常 [重复]

    这个问题在这里已经有答案了 作为我的延续先前的问题我一直在尝试 PDF 的页眉和页脚功能 经过一番讨论后 我更改了 PdfPageEventHelper 类上的大量代码 以下是我所拥有的 public class ReportHeaderF
  • 将 VBA Range 复制粘贴到另一工作表 循环并转置数据

    对于 Excel 中的模型 我想将数据从工作簿中的一张工作表复制并粘贴到工作簿中的另一张工作表 并使用 for next 循环转置此数据 来自工作文件 CME 的数据应粘贴到 RME 工作文件中 数据总行数为2420 但是 由于复制和粘贴不