gpt4 book ai didi

excel - 在 VBA Excel 中复制和粘贴循环以实现多个输出

转载 作者:行者123 更新时间:2023-12-04 20:51:31 27 4
gpt4 key购买 nike

所以我有以下 excel 选项卡:
代码 1、代码 2、代码 3、LI、2015、2016、2017、2018、2019、2015 年的输出等。

对于 2015 年,我在“2015”选项卡中有一个表格,其中有 10 行,列出了 3 个代码及其各自的百分比值。例如

ref       name   yr     code 1   %     code 2   %      code 3    %
12345 NAME 2015 AB 50% CD 37% EF 13%
78901 NAME 2015 AX 54% OD 30% NG 6%
26572 NAME 2015 AE 60% CD 27% PF 13%

我需要将代码 1 'AB' 和 % '50%' 放入选项卡代码 1 中的单元格 B5 和 B6 中。选项卡代码 2 中的 B5 和 B6 中的代码 2 和 3 'CS' 和 '37%' 相同等等。这些然后在单元格 F5:F183 的 LI 选项卡中生成一个模式,然后需要为每个引用复制并粘贴到每个引用的 2015 选项卡的输出中。然后循环每个引用并重复粘贴输出。

到目前为止,我有这个用于复制和粘贴部分:
    Sub Copy_and_paste2()
Dim rng2 As Range, cell2 As Range
Dim i As Integer
i = 3
Set rng2 = Worksheets("2015").Range("D10:D21")
For Each cell2 In rng2
Worksheets("Code 1").Range("B5").Value = cell2.Value
Worksheets("2015 output").Range("A" & i & ":AW" & i).Value = Worksheets("LI").Range("F5:F183").Value
i = i + 1
Next cell2
End Sub

在这一点上,我只是想让它适用于没有 % 的第一个代码,然后我可以尝试添加后面的代码,但这个也不起作用。有什么建议吗?

最佳答案

你的问题有点难以阅读,所以我根据我认为你的代码最明显的问题写了一个答案。如果我误读了您的查询或完全错过了重点,我深表歉意。

您似乎正在尝试复制
Worksheets("LI").Range("F5:F183") (179 个细胞)


Worksheets("2015 output").Range("A" & i & ":AW" & i) (49 格)

忽略您无法将 179 个条目复制到 49 个(它只会复制前 49 个)这一事实 - 我认为您可能看到第一个条目在所有 49 个单元格中重复?

这将是因为您没有转置范围(在这种情况下,从一列切换到一行)。

尝试这样的转置:

Worksheets("2015 output").Range("A" & i & ":AW" & i).Value = _
WorksheetFunction.Transpose(Worksheets("LI").Range("F5:F57").Value)

但请记住,我已将源范围更改为仅前 49 个单元格。您不必这样做,但我会强调它,以防您不知道这种情况正在发生。

关于excel - 在 VBA Excel 中复制和粘贴循环以实现多个输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59068514/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com