我正在尝试在调用代码的行的最后一行之后粘贴“ Called Sub”数据。
但是,我只能设法使第一个子项粘贴选择的第一个数据,并且在调用“ ESTDEUDA”时,它将其他数据粘贴到第一次使用的信息上。
Sub ActualizarFondos()
'Deuda
J = 12
For i = 15 To 26
Sheets("Reporte").Activate
If Cells(i, "C").Value > 0 Then
Range(Cells(i, "C"), Cells(i, "B")).Copy
ActiveSheet.Range(Cells(J, "Z"), Cells(J, "AA")).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'Call ESTDEUDA
J = J + 1
End If
Next
End Sub
Sub ESTDEUDA()
J = 12
For i = 3 To 6
Sheets("FondosEstrategia").Activate
If Cells(i, "F").Value > 0 Then
Range(Cells(i, "E"), Cells(i, "F")).Select
Range(Cells(i, "E"), Cells(i, "F")).Copy
Sheets("Reporte").Activate
Range(Cells(J, "Z"), Cells(J, "AA")).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
J = J + 1
End If
End Sub
我想知道可以做些什么,以便在从表单“ Reporte”粘贴信息之后粘贴表“ FondosEstrategia”中的信息。
有没有办法将一种J = J +1应用于“ ESTDEUDA”,以便在“ ActualizarFondos”的J = J +1之后粘贴。
谢谢!
答案 0 :(得分:0)
您不需要使用 /*
** Build configuration
*/
build: {
...,
postcss: {
plugins: {
"postcss-custom-properties": false
}
},
}
。只需在第一个循环中偏移您的J
值即可产生所需的i
值。
在您的第一个循环上:
J
i = 15
与J = 12
相同。
因此,您可以将i - 3
的每个实例替换为J
。
接下来,您可以使用以下方法将i - 3
作为参数(输入)传递到i
中。
ESTDEUDA
Sub ActualizarFondos()
Dim i As Integer
For i = 15 To 26
With Sheets("Reporte")
If .Cells(i, "C").Value > 0 Then
.Range(.Cells(i, "C"), .Cells(i, "B")).Copy
ThisWorkbook.Sheets("WHATSHEET").Range("Z" & i - 3).PasteSpecial Paste:=xlPasteValues
Call ESTDEUDA(i)
End If
End With
Next i
End Sub
此外,您还需要使用直接表单来限定Sub ESTDEUDA(i As Integer)
Dim x As Long
For x = 3 To 6
With Sheets("FondosEstrategia")
If .Cells(x, "F").Value > 0 Then
.Range(.Cells(x, "E"), .Cells(x, "F")).Copy
Sheets("Reporte").Range("Z" & i - 3).PasteSpecial Paste:=xlPasteValues
End If
End With
Next x
End Sub
和Range
的实例。您应该避免依赖Cells
或Active
工作表。