gpt4 book ai didi

excel - 循环和如果不适用于第二条指令

转载 作者:行者123 更新时间:2023-12-04 20:34:40 24 4
gpt4 key购买 nike

我在 Excel VBA 中相对较新,我正在做的是我们的一个 ERP 的加载器。所以我的问题是……我有一个 excel 工作表,我们称它为原点,另一个,我们称它为 dummy。

我想要做的是让宏检查原始范围内的某个单元格(af18)是否符合标准。如果为真,则将 A18 从原始表复制到虚拟表。然后在下一列插入“{tab}。然后如果 AF19(下一个单元格)符合条件,将 a19 复制到虚拟的下一个空白列,然后再次插入 {tab}。

当前代码生成:1,2,3...\{tab}
但我希望它是这样的:1,\{tab},2,\{tab}...
enter image description here

  Sub CreateLoaderBeta()

Dim origin As Worksheet
Dim destination As Worksheet
Dim desrow As Long
Dim descol As Long
Dim descolstart As Long
Dim origrow As Long
Dim origcol As Long
Dim rang As Range
Dim C As Range
Dim qual As Integer

Set origin = Sheets("1")
Set destination = Sheets("dummy")
desrow = 3
descol = 1
origrow = 18
origcol = 32
Set rng = Sheets("1").Range("AF18:af47")
total = WorksheetFunction.SUM(Worksheets("1").Range("AF18:AF47"))
descolstart = destination.cells(desrow, Columns.Count).End(xlToLeft).column

If total > 0 Then

'Dim headcol As Integer
'headcol = 1

'origin.cells(3, headcol).Copy
'destination.cells(1, descolstart).PasteSpecial Paste:=xlPasteValues


For Each C In rng
If C = 14 Then
origin.cells(origrow, 1).Copy
destination.cells(1, descolstart).PasteSpecial Paste:=xlPasteValues
destination.cells(1, descolstart + 1).Value = "\{TAB}"
descolstart = descolstart + 1
origrow = origrow + 1
End If
Next C

destination.Columns("A:U").insert Shift:=xlToRight
Call headers


Else 'Donothing


End If

MsgBox total

End Sub**

最佳答案

destination.cells(1, descolstart).PasteSpecial Paste:=xlPasteValues
destination.cells(1, descolstart + 1).Value = "\{TAB}"
descolstart = descolstart + 1


您正在覆盖 "\{TAB}"你刚刚写了,在下一次迭代中。 descolstart必须增加 2在每次迭代,因为每次迭代消耗两列。
descolstart = descolstart + 2  ' <------------ +2, not +1

关于excel - 循环和如果不适用于第二条指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44342338/

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