簡體   English   中英

如何在excel vba中更改范圍的值

[英]How to change values of range in excel vba

我想更改范圍(源)的值並粘貼到 excel vba 中的另一個范圍(目標)。 請注意,正斜杠的來源可能有所不同。

例如,我想這樣做,但來自 vba excel: 在此處輸入圖片說明

偽代碼:

ThisWorkbook.Sheets("Sheet1").Range(A1,A4).Value = 用變量替換上次轉發之前的源字符串。

變量 = "C:Destination\\"

基本上我正在修改 Source 的值並希望粘貼到目的地。

此代碼有效,但將相同的值從源粘貼到目標

ThisWorkbook.Sheets("Sheet1").Range(A1,A4).Value = ThisWorkbook.Sheets("Sheet1").Range(B1,B4).Value

請幫助我是 VBA 新手,提前致謝。

這可以實現您想要做的事情,除非我誤解了這個問題。

可以通過對第一列中填充單元格的范圍進行計數並將其設置為循環最大迭代來進一步改進。

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 的簡單示例:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM