【问题标题】:Using a Dashboard to copy particular rows in a particular columns and pasting them into a different excel document [closed]使用仪表板复制特定列中的特定行并将它们粘贴到不同的 excel 文档中 [关闭]
【发布时间】:2014-02-21 01:41:47
【问题描述】:

在我的 excel 电子表格中,我有一个基本上可以控制一切的大师。在这个母版中,我有一个页面允许我选择一个 xlsx 文件,然后在一个下拉列表中它允许我选择我想要使用的所选文件中的哪个工作表。 [但是这部分工作得很好......]

我正在努力解决以下问题,用户必须能够规定数据从哪一行开始,数据在哪一行结束,以及该数据在哪一列中

示例:

数据开始的行 7 数据结束的行 25 数据 G 的列 数据代码D列

使用此信息,我需要 excel 来提取该数据并将其复制到用户选择的另一个电子表格并将它们合并在一起

输入数据的列 H 列标题(代码必须与用户输入一起命名) TITLE 数据代码列E

合并数据时,必须将数据与“数据代码”匹配

提前致谢

【问题讨论】:

  • 你的问题是......?
  • 你试过什么?你被困在哪里了?
  • 当我们选择文件并使其处于活动状态以及显示所选文件中的工作表时,我已经能够对开始部分进行编码。但是我不确定如何编写其余代码

标签: vba excel merge dashboard


【解决方案1】:

听起来好像您在要求我们设计您的程序。

  • 用户必须能够规定数据从哪一行开始,数据在哪一行结束,以及该数据在哪一列。例如:“数据开始的行 7 数据结束的行 25 的列data G 列Data code D.

  • 用户选择的另一个电子表格(工作簿?)。

只有您知道您的用户会觉得什么方便,什么会与您现有的代码相匹配。下面我展示了一种选择您可能喜欢的范围的方法。

  Option Explicit
  Sub Test()

  Dim CopyRange As Range
  Dim reply As Long

  Do While True
    Err.Clear
    On Error Resume Next
    Set CopyRange = Application.InputBox(Prompt:="Select ranges to be copied", _
                                         Type:=8)
    On Error GoTo 0
    If CopyRange Is Nothing Then
      reply = MsgBox(Prompt:="Do you wish to exit without copying a range?", _
                     Buttons:=vbYesNo)
      If reply = vbYes Then
        ' User wants to exit
        Exit Sub
      End If
      ' Loop for another go
    Else
      ' User had entered a valid range
      Exit Do
    End If
  Loop

  Debug.Print CopyRange.Address

  End Sub

您告诉我们您已经打开了另一个工作簿,因此您知道如何跨多个工作簿工作。

在我看来,复制数据最简单的命令是:

SourceRange.Copy Destination:=TopLeftCellOfDestinationRange

以上内容应该让您开始了解宏的下一部分。如果您遇到问题,请返回有关无法按您要求工作的代码的具体问题。请不要提供模糊要求的清单。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-05
    • 2018-09-17
    • 2013-09-05
    • 2011-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多