Excel VBA运行时错误1004;我在代码中没有选择

2023-12-15

我正在尝试将一些输入复制到模型中,并将答案复制回第一张表。下面是代码。 “data_sheet”是具有许多输入的表,“Final Model”给出输出。非常简单;我正在尝试从中复制数据 将“data_sheet”更改为“最终模型”,然后将答案复制回来。当我尝试将答案复制回“data_sheet”时,出现错误 1004。仅第一部分效果就很好。

Private Sub CommandButton1_Click()


    Dim wksSource As Worksheet, wksDest As Worksheet
    Dim rngStart As Range, rngSource As Range, rngDest As Range
    Dim rngStart2 As Range, rngSource2 As Range, rngDest2 As Range

For i = 1 To 6

    Set wksSource = ActiveWorkbook.Sheets("data_sheet")
    Set wksDest = ActiveWorkbook.Sheets("Final Model")

    Set rngSource = wksSource.Range(Cells(5, 3 + i - 1), Cells(23, 3 + i - 1))
    'Paste Data Values
    Set rngDest = wksDest.Range("C14")
    rngSource.Copy
    rngDest.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False


'Till this code works. Now i just trying to reverse copy

    Set rngSource2 = wksDest.Range(Cells(38, 4), Cells(40, 4))
    Set rngDest2 = wksSource.Range(Cells(29, 3 + i - 1), Cells(31, 3 + i - 1))
    rngSource2.Copy
    rngDest2.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

Next i

您收到错误的原因是因为您试图定义一个范围wksDest using Cells来自Active工作表,除非wksDest活跃。所以这个声明:

Set rngSource2 = wksDest.Range(Cells(38, 4), Cells(40, 4))

其实是这么说的:

Set rngSource2 = wksDest.Range(ActiveSheet.Cells(38, 4), ActiveSheet.Cells(40, 4))

由于无法使用另一张工作表上的单元格在一张工作表上定义范围(不采取其他特殊措施),为了避免这种情况,您可以使用With像这样阻止:

With wksDest
    Set rngSource2 = .Range(.Cells(38, 4), .Cells(40, 4))
End With
With wksSource
    Set rngDest2 = .Range(.Cells(29, 3 + i - 1), .Cells(31, 3 + i - 1))
End With

或者使用更直接的方法Resize method:

Set rngSource2 = wksDest.Cells(38,4).Resize(3)
Set rngDest2 = wksSource.Cells(29, 3 + i - 1).Resize(3)

上述两种方法都避免了不合格的情况Cells对象,这可能是 1004 错误的原因。

另外,由于您只是复制值,因此您可以进行简单的值分配,而不是copy and pastespecial,像这样:

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

Excel VBA运行时错误1004;我在代码中没有选择 的相关文章

  • 我可以用文本框设置变量名称吗? excel

    我可以使用 TextBox Vba Excel 设置变量的名称吗 我必须以在文本框中写入组名称并单击命令按钮的方式输入新的产品组 代码必须从文本框中获取字符串 并将该字符串设置为新创建的数组的名称 我只想在运行时创建一个新变量 或数组 据信
  • 复制一张工作表上的静态范围,然后根据单元格中的单个值粘贴到另一张工作表中的动态范围

    我对这个问题分为三个部分 我在 Sheet1 A1 中有一个带有周数的单元格 我在 Sheet1 B1 F1 中有一个需要复制的静态范围 然后 我需要将该值粘贴到 Sheet2 中的动态范围中 偏移量为行的周数 这是我正在为我经常使用的工作
  • 在Google电子表格中划分整列

    我是 Google 电子表格的一个相对较新的用户 我希望 B 列中的每个单元格都是 A 列 同一行 中内容除以 5 的结果 B1 B2 B3 等 商 应为 A1 A2 A3 等 被除数 除以 5 除数 在示例中 B1 A1 5 我知道一项一
  • 将ADODB二进制流转换为字符串vba

    我有以下问题 我有一个存储在服务器上的 CSV 文件 但它有 3 个字符作为分隔符 我想从 URL 加载数据并使用 作为分隔符将数据填充到 Excel 页面的列中 到目前为止 我找到了使用 ADODB 记录集从网站加载文件的代码 但我无法进
  • 文件夹.文件的相对路径

    我有一个 Excel 文件 在同一文件夹中还有一个包含我想要包含的 CSV 文件的文件夹 使用 来自文件夹 查询 第一步将给出以下查询 Folder Files D OneDrive Documents Health Concept2 现在
  • 将html表格保存到excel中[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我必须编写一个程序 定期读取网页并将
  • 如何将 MySQL 查询输出保存到 Excel 或 .txt 文件? [复制]

    这个问题在这里已经有答案了 如何将 MySQL 查询的输出保存到 MS Excel 工作表 即使只能将数据存储在 txt文件 就可以了 From 将 MySQL 查询结果保存到文本或 CSV 文件中 http www tech recipe
  • VBA中的字符串是可以迭代的数组吗?

    VBA中字符串是数组吗 例如 我可以像在 C C 中那样迭代它吗 做这样的事情 char myArray 10 for int i 0 i lt length i cout lt lt myArray i VBA 中的等价物是什么 它的行为
  • Excel:#CALC!使用 MAP 函数计算间隔重叠时出现错误(嵌套数组)

    我正在努力解决以下公式 它适用于某些情况 但不适用于所有情况 名字input有失败的数据集 得到一个 CALC 描述 嵌套数组 错误 LET input N1 0 0 N1 0 10 N1 10 20 names INDEX input 1
  • numpy NPV 和 Excel NPV 有区别吗?

    我的 Excel 中有一行包含 11 个值 TotalSavings 0 8000 8000 8000 8000 8000 8000 8000 8000 8000 8000 贴现率为 0 08 我在 Excel 中使用 计算 NPVNPV
  • VSTO 替代方案 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 VSTO 有哪些替代方案 ManagedXll 能做什么而 VSTO 不能 你什么时候使用其中一个而不
  • Excel 2013 数据透视表不会更改当前页面,除非手动导航到

    我们有一小段 VBA 代码 多年来一直完美运行 本质上是 Me PivotTables APivot PivotFields AField CurrentPage Some text 这种方法一直有效 直到 Excel 2013 该行将失败
  • 如何通过电子邮件发送 Excel 文件?

    我有一个 excel 文件 Excel 2003 xls 格式 我想用 c 通过电子邮件发送它 我的代码成功发送它 但是当我尝试打开响应文件时 它似乎编码错误 例如 这里是响应文件名 utf 8 B RWxzesOhbW9sw6FzXzIw
  • 通过 Excel / VBA 调用 DLL 中的 C++ 函数在传递双参数时生成异常

    我试图通过 DLL 在 Excel VBA 中使用 C C 静态函数 我在 VS17 中调试时遇到异常 我怀疑这是参数传递方式的问题 它是双精度 EXCEL EXE 中 0x00007FFA28BBA14F kernel32 dll 处抛出
  • 替换字符串变量中的多个字符 (VBA)

    如何替换字符串变量中的多个内容 这是我在 VBA 中的示例函数 Private Function ExampleFunc ByVal unitNr As String If InStr unitNr OE gt 0 Then unitNr
  • VBA / HTML / jQuery 选择自动完成 - 在列表中选择

    我正在尝试使用 Excel 中的 VBA 在网站的列表中选择一个值 这不是一个 正常列表 该网站使用 jQuery 选择自动完成 如下所示 example http davidwalsh name demo jquery chosen ph
  • 是否存在用于开放 xml Excel 编辑的良好包装类和/或库?

    我正在寻找一个不错的库 用于在我们的 Windows 服务器上编辑和 或生成 Excel 文档 我觉得 open xml sdk 可能是可行的方法 但对我来说 学习曲线似乎很陡峭 而且我们的开发时间有限 我认为编辑 Excel 文档不应该那
  • 如果 Excel 中的表格包含单元格引用,如何对其进行排序?

    我在工作表 1 中有一个 Excel 数据表 它引用了许多其他工作表中的各种不同单元格 当我尝试对工作表进行排序或过滤时 引用会随着单元格的移动而发生变化 但是 我不想手动进入每个单元格并在各处插入 符号 因为有些引用是连续的 我可能想稍后
  • Excel 2010 在 IF 函数中搜索文本 - 单独的单元格数据

    Program Excel 2010 Require 一种将名字 姓氏 电子邮件提取到各个单元格的方法 Data 我的数据有一个包含原始 脏数据 的表 它是原始的并且一团糟 我用一个简单的方法整理它 IF A7 Order 1 然后其余单元
  • 如何使用 php 将 *.xlsb 转换为数组或 *.csv

    我正在尝试转换 xlsb文件到php array or csv文件 或至少 xls 我尝试使用PHPExcel 但看起来它无法识别该文件中的内容 我注意到 你可以重命名 xlsb文件到 zip文件 然后使用命令行解压缩unzip zip 之

随机推荐

  • 如何使用 C# 将配置文件首选项添加到 Chrome for Selenium Grid 2?

    这是我向 Chrome 添加配置文件首选项以进行本地自动测试运行和 TeamCity CI 的方法 Capabilities DesiredCapabilities Chrome var chromeOptions new ChromeOp
  • 无法添加 System.Drawing.dll 引用

    好吧 过去 4 小时我一直在处理这个 bug 但我不知道该怎么办 我正在使用 Visual Studio Community 2017 并打开 Consol App net core 项目 我也在 Windows 8 1 操作系统上工作 我
  • Hibernate/JPA - 注释 bean 方法与字段 [重复]

    这个问题在这里已经有答案了 我有一个关于 Hibernate 使用的简单问题 我不断看到人们以两种方式之一使用 JPA 注释 注释类的字段以及注释相应 bean 上的 get 方法 我的问题如下 使用 Id等JPA注释来注释字段和bean方
  • 如何在 nextjs 中导航而不丢失标头组件的状态

    有没有什么方法可以创建 构建 next js 应用程序进行导航而不丢失标头组件状态 让我解释 我有这样的标题组件 import useState from react import Link from next link export co
  • 如何将图像发布到网络服务器

    我正在使用 json 解析来处理 Web 服务 我可以从网络服务获取图像 有人可以帮助我如何发布图像吗 我如何将图像发布到网络服务 这将是类似这样的事情 NSMutableURLRequest mutableRequest NSMutabl
  • 使用 Capybara 和 Selenium 在页面上查找 svg 标签时遇到问题

    我有一个这样的测试用例 scenario there should be an SVG tag do page find svg end 由于某种原因 水豚找不到 svg 标签 即使当我查看页面的源代码时 该标签就在那里 而且也是视觉上的
  • 从 data.frame 中提取行

    我有一个 n mdata frame其中第 1 列包含感兴趣的信息 我想创建子data frames 基于第 1 列的行中的值 Example P Cat Q S nth Column S data data data data S A I
  • C# 中的“静态方法”是什么?

    将 static 关键字添加到方法中意味着什么 public static void doSomething Well do something 你可以添加static类的关键字 那意味着什么 A static函数 与常规的 instanc
  • GridView:如何制作固定标题行

    需要固定垂直滚动条的标题行 因为我的 GridView 非常大 制作 2 个面板是我最好的尝试 但也行不通 added
  • 如何将匹配器添加到 HttpSecurity spring web secure

    我尝试实现spring security 但是我有很多角色和权限 然后我想将角色动态添加到彼此的资源中 喜欢它 Override protected void configure HttpSecurity http throws Excep
  • 如何在insert sql语句中带参数传递列名

    如何在insert sql语句中带参数传递列名 例如 name name insert into employees id name values 1 a 这可能吗 不 您不可能需要在应用程序中或通过在 SQL Server 本身中使用动态
  • 利用浏览器缓存

    我有一个网站 当我使用 Google 插件检查页面速度时 我收到 利用浏览器缓存 以下资源缺少缓存过期时间 我可以在哪里更改此设置 Edit htaccess并附加
  • 将相对路径导入映射到 Typescript 中正确的“@types”

    在运行时 对于浏览器 我需要 import as d3 from lib d3 js 正确获取d3 我验证了这确实有效 但是包含上面的文件 调用它main js 是从打字稿文件生成的main ts目前从上面的同一行开始 打字稿编译器抱怨它找
  • Matlab中二阶常微分方程的求解系统

    介绍 我正在使用 Matlab 通过使用 ODE45 数值求解二阶常微分方程系统来模拟一些动态系统 我从 Mathworks 找到了一个关于如何执行此操作的精彩教程 最后的教程链接 在本教程中 方程组的 x 和 y 是显式的 如下所示 x
  • 无法在谷歌地图中保存多边形

    我有一个谷歌地图多边形对象 var poly new google maps Polygon paths new google maps LatLng 25 774252 80 190262 new google maps LatLng 1
  • ASP.NET 用户控件:无法使用 Eval("...") 初始化用户控件属性

    我设计了一个用户控件 它包含一个公共属性 CurrentValue 当我尝试使用 Eval 表达式初始化属性时 会分配一个空值 在下面的代码中 标签赋值 OK RatingNull 用户控件赋值为 null
  • 我可以更改 WinRT 中主磁贴的背景颜色吗?

    是否可以更改 WinRT 应用程序主图块的背景颜色 我想根据应用程序状态更改它 我使用此代码来更改图块的文本 XmlDocument contentSmall TileUpdateManager GetTemplateContent Til
  • eloquent javascript 关联表 解释

    我正在迈出编程的第一步 但我被雄辩的这个问题所困扰 特别是灰鼠问题 事情是这样的 function hasEvent event entry return entry events indexOf event 1 function tabl
  • 有什么方法可以使用 CoffeeScript 不返回某些内容吗?

    看起来 CoffeeScript 会自动返回范围中的最后一项 我可以避免这个功能吗 您必须显式返回任何内容 或者在函数底部留下一个计算结果为未定义的表达式 fun gt doSomething return Or fun gt doSome
  • Excel VBA运行时错误1004;我在代码中没有选择

    我正在尝试将一些输入复制到模型中 并将答案复制回第一张表 下面是代码 data sheet 是具有许多输入的表 Final Model 给出输出 非常简单 我正在尝试从中复制数据 将 data sheet 更改为 最终模型 然后将答案复制回