Tag: 联合

联合多个Excel表单。 (粘贴在对方下面)

将Excel-Tables从多个文件复制并粘贴到单个文件的方法是什么? 特别是如何确定在makro中复制和粘贴使用的行的范围?

范围的联合不按顺序

我试图以特定顺序复制各种范围,并将其从工作簿粘贴到不同的工作簿中。 目前 我已经设定了我的范围,例如 Set rg = ws1.Range("A2:A" & i).Offset(rowOffset:=1, columnOffset:=0) Set rg1 = ws1.Range("Z2:Z" & i).Offset(rowOffset:=1, columnOffset:=0) Set rg2 = ws1.Range("C2:C" & i).Offset(rowOffset:=1, columnOffset:=0) Set TradesCopy = Union(rg, rg1, rg2) 所以通常应该发生的是它应该按照这个顺序粘贴在这些范围内(rg,rg1,rg2), 但是这是粘贴rg,rg2,rg1 谁能告诉我,我能做些什么来解决这个问题?

如何结合使用联盟的两个不相邻的范围?

我想创build一个范围(Rng3),结合下表的第一行和第三行。 1 2 3 4 5 11 22 33 44 55 111 222 333 444 555 为此,我使用这个脚本: Sub combineRange() Dim Rng1, Rng2, Rng3 As Range Set Rng1 = ActiveSheet.Range("A1:E1") Set Rng2 = ActiveSheet.Range("A3:E3") Set Rng3 = Union(Rng1, Rng2) End Sub 现在,当我检查Rng3时,我发现只有第一行的数据在这个范围内(1,2,3,4,5),而不是表格的第三行。 我究竟做错了什么? 如果范围是相邻的,那么它的工作! Sub combineRange() Dim Rng1, Rng2, Rng3 As Range Set Rng1 = ActiveSheet.Range("A1:E1") […]

你可以使用联合范围来定义一个数组吗?

我试图使用来自2个独立列的数据定义一个二维数组。 该代码当前仅将我的数组定义为第一列(range1),忽略第二个(range2)。 这是由于我的一个错误,或者我可以不使用一个unionized(是正确的术语?)范围来定义一个数组? Sub define_array() Dim FTSE100() As Variant Dim wsh As Worksheet Dim range1 As Range Dim range2 As Range Dim finalrange As Range Dim a As Integer Dim finalrow As Integer ' define array Set wsh = Sheet2 wsh.Activate finalrow = Range("a1").End(xlDown).row Set range1 = Range(Cells(1, 1), Cells(finalrow, 1)) Set range2 = Range(Cells(1, […]

多对多的关系

我将每周收到3个excel文件。 第一个是来自部门A的项目,Project_ID是x列数量。 第二个是来自部门B的项目,同样是一个Project_ID x数量的列。 这些项目往往是相关的(多对多的关系),因此我将获得第三个项目属于哪个项目的映射的优秀。 后来这个过程将会自动化,所以我想尝试提前创build一个体面的SQL解决scheme。 我的输出结果应该如下显示相关的项目: <br />Department A | Project_ID | Project name | etc <br />Department B | Project_ID | Project name | etc <br />Department B | Project_ID | Project name | etc 另外,当一个项目没有映射(还)时应该有一个指示。 我曾尝试:为每个Excel文件创build一个表。 然后全部join部门A项目到项目B,以便所有项目都在表中,不pipe链接。 但是,这个结果显示了相邻的相关项目,而不是下面。 为了进一步说明,我在Excel中创build了一个小例子。选项卡代表一个文件,映射或输出。 希望你能够给我正确的推动! 谢谢

从VBA中的联合体生成的行范围中删除一行

这似乎应该是简单的执行,但对我来说,我找不到适当的命令或伎俩。 在我的macros中,我使用范围和循环中新行之间的联合系统地生成一个行的范围: Set DesiredRange = Union(DesiredRange, ActiveSheet.Cells(Val(ParsedText(Count)), 1).EntireRow) 然而,为了使这个联合工作,我必须首先设置DesiredRange等于一些范围,以便联盟不会出错。 我遇到的麻烦是有一些行数,我需要排除,但行是从一个userform文本框,允许用户input任何他们希望(我已经在错误控制编码,所以传递的值是有效的),所以他们可以假设做出第一个值(因此我正在使用的初始化范围)一个被排除的行。 我希望这里有人可以有一个解决scheme,允许我完成所有的操作,然后删除该范围内的第一个添加的行,如果它在被排除的类别(行1到7)。 如果没有,我想我可能会有一个解决办法(但我的一部分是问这个问题更多的教育,而不是解决问题) 谢谢!

Excel vba联合方法复制重叠的单元格

我期望下面的macros显示6,但它显示8.我明白,这是因为联盟复制单元格重叠像单元格b1:b2在我的例子中: Sub a() Dim myRange As Range Set myRange = Application.Union(Range("a1:b2"), Range("b1:b4")) MsgBox myRange.Count End Sub 我发现这个问题的解决scheme,但我很想知道为什么这是联盟工作的方式,如果有任何其他方式来解决这个问题,除了写一个新的function,如上面的链接build议。