簡體   English   中英

Excel VBA 當前范圍單元格選擇問題

[英]Excel VBA current range cell selection issue

我在下面有這段代碼,其中我 select 范圍然后偏移以獲得 base_red 范圍下一個單元格的句柄。 運行下一行 pastespecial 時,它會將數據復制到“mon”范圍,但 cursor 選擇也會移動到“mon”范圍。

我不希望選擇僅保留在舊位置,而無法弄清楚如何僅在舊位置停止選擇。 我需要這個,因為我必須做更多的偏移並將值粘貼到新位置。

If count1 = 1 Then
        ws.Range("base_red").Select
    End If
    ActiveCell.Offset(1, 0).Select 
    ActiveCell.Copy

    ws.Range("mon").PasteSpecial

您可能不想使用 select。以下代碼將一個范圍復制到另一個范圍。 我從你的例子中暗示你想確保你只復制和粘貼一個單元格。 如果不是這種情況,請從代碼中刪除“.Cells(1,1)”的兩個實例。

Public Sub Temp()
    Dim ws As Worksheet
    Set ws = ActiveSheet
    count1 = 1
    If count1 = 1 Then
        ws.Range("mon").Cells(1, 1) = ws.Range("base_red").Offset(1, 0).Cells(1, 1)
    End If
End Sub

這是對代碼進行最少更改的另一種方法。

Public Sub Temp()
    Dim rng As Range
    Dim ws As Worksheet
    
    Set ws = ActiveSheet
    count1 = 1
    If count1 = 1 Then
        ws.Range("base_red").Select
    End If
    ActiveCell.Offset(1, 0).Select
    ActiveCell.Copy

    ' save the location of the active cell to rng.
    Set rng = ActiveCell
    
    ws.Range("mon").PasteSpecial
    ' return to the previous active cell
    rng.Select

End Sub

暫無
暫無

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

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