我想在excel vba中更改范围(Source)的值并粘贴到另一个范围(目标)。请注意,正斜杠的来源可能有所不同。
psedu代码:
ThisWorkbook.Sheets(" Sheet1")。范围(A1,A4).Value =用变量替换最后一次前的源字符串。
variable =" C:Destination \"
基本上我正在修改Source的值并希望粘贴到目标位置。
此代码有效,但会将相同的值从源粘贴到目标
ThisWorkbook.Sheets(" Sheet1")。范围(A1,A4).Value = ThisWorkbook.Sheets(" Sheet1")。范围(B1,B4).Value
请帮助VBA新手,提前致谢。
答案 0 :(得分:2)
这可以达到你想要做的,除非我误解了这个问题。
可以通过计算第一列中填充单元格的范围并将其设置为循环最大迭代来进一步改进。
Dim Str As String
Dim Source As String
Dim Destination As String
Dim populated As Integer
Source = "C:\Source\"
Destination = "D:\Destination\"
N = Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To N
Str = Cells(i, 1).Value
Cells(i, 2).Value = Replace(Str, Source, Destination)
Next i
答案 1 :(得分:-1)
下面是一个简单的示例,该示例将某个范围内的单元格值增加或减少1:
Option Explicit
Dim actualRange As Range
Dim cellRange As Range
Public Sub increaseNumber()
Set actualRange = Selection
For Each cellRange In actualRange.Cells
cellRange.value = cellRange.value + 1
Next
End Sub
Public Sub decreaseNumber()
Set actualRange = Selection
For Each cellRange In actualRange.Cells
cellRange.value = cellRange.value - 1
Next
End Sub