gpt4 book ai didi

vba - 我的 Sub 无法识别连接的字符串

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

我做了以下Sub帮助我从其他工作簿中复制值,甚至只是从同一工作簿中的其他工作表中复制值。

Private Sub CopyValues(fromSheet As String, fromRange As String, toSheet As String, toRange As String, Optional fromFileName As String = "")

Dim toFile As Excel.Workbook
Set toFile = ActiveWorkbook

Dim fromFile As Excel.Workbook
If Len(fromFileName) > 0 Then
Set fromFile = Workbooks.Open(fromFileName)
Else
Set fromFile = ActiveWorkbook
End If

With ActiveWorkbook
toFile.Sheets(toSheet).Range(toRange).Value = fromFile.Sheets(fromSheet).Range(fromRange).Value
End With

If Len(fromFileName) > 0 Then
fromFile.Close savechanges:=False
End If

End Sub

它工作得很好(如果你觉得它有帮助,你们都可以免费使用它)。下面是一个有效的代码示例:
Call CopyValues(reportName, "B4:C15", reportName, "E2:F13", reportDirPath)

不幸的是,我在处理一个具体案例时遇到了麻烦。我希望将相同的值复制到同一列中的多个单元格中。以下是我想出的:
For i = 2 To i = 13
Call CopyValues(reportName, "AJ2", reportName, "H" + i, reportDirPath)
Next i

那没有用。没有错误消息,但没有任何值被粘贴到我的工作表中。我认为可能连接整数 i正在将字符串转换(这是技术词吗?)为不同的类型,所以我尝试了以下方法:
For i = 2 To i = 13
Call CopyValues(reportName, "AJ2", reportName, CStr("H" + i), reportDirPath)
Next i

那仍然没有用。同样的交易。没有错误消息,但没有任何值被粘贴到我的工作表中。

更改 +&也没有工作:
For i = 2 To i = 13
Call CopyValues(reportName, "AJ2", reportName, CStr("H" & i), reportDirPath)
Next i

显然,我可以写出每个案例,但这似乎有点荒谬。知道发生了什么吗?

最佳答案

当我尝试您的代码时,您的“For”循环不起作用,但是在我将您的 for 循环更改为“For i = 2 to 13”而不是“For i=2 To i = 13”之后,您的代码的最后一个版本为我工作。

For i = 2 To 13
Call CopyValues("Sheet1", "A1", "Sheet2", CStr("J" & i))
Next i
End Sub

所以我认为这可能是你的麻烦。

关于vba - 我的 Sub 无法识别连接的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41900449/

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