Excel VBA设置单元格作为变量

Excel VBA设置单元格作为变量,excel,vba,Excel,Vba,我读过一些文章,这些文章让我把第一行变成了一个变量,但我需要把“n94”也变成一个变量。它将始终是7行并在N列上。我必须重新编辑这个在未来的6行等。。。试图连接备忘笔记,并且花费的时间太长,数据量太大 Range("B101").Select Selection.Copy Range("N94").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Tra

我读过一些文章,这些文章让我把第一行变成了一个变量,但我需要把“n94”也变成一个变量。它将始终是7行并在N列上。我必须重新编辑这个在未来的6行等。。。试图连接备忘笔记,并且花费的时间太长,数据量太大

Range("B101").Select
Selection.Copy
Range("N94").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
Rows("95:101").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
谢谢你的帮助

它将始终是7行并在N列上

这就是你想要的吗

Sub Sample()
    Dim ws As Worksheet
    Dim rng As Range

    '~~> Replace this with the actual sheet name
    Set ws = ThisWorkbook.Sheets("Sheet1")

    With ws
        Set rng = ActiveCell '<~~ From Comments below

        If (rng.Row - 7) < 1 Then
            MsgBox "Cannot Paste. Row Out of bounds"
            Exit Sub
        End If

        rng.Copy

        .Cells(rng.Row - 7, "N").PasteSpecial _
        Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

        '~~> Delete the rows. For example Rows("95:101")
        .Rows((rng.Row - 6) & ":" & rng.Row).Delete Shift:=xlUp
    End With
End Sub
子样本()
将ws设置为工作表
变暗rng As范围
“~~>将其替换为实际的图纸名称
设置ws=ThisWorkbook.Sheets(“Sheet1”)
与ws

设置rng=ActiveCell’不清楚您拥有什么,以及您想要做什么我正在尝试将单元格B101和特殊粘贴作为值复制到单元格N94,然后删除行95-101。之后,我想在B列中选择另一个单元格,并重复这个过程。这是类似的。但是我想点击单元格,让宏运行。如果我必须像B101那样更改该部分,则需要比我手动更改更长的时间。如果这可能是一个变量,我会非常高兴:)我还有大约6000行,我一直在手动操作。将
.Range(“B101”)
更改为
ActiveCell
:)差不多了:我已经设置了ws=“ASM Concatented Address w notes”,当我运行它时,我会得到一个输入框来创建一个表并选择我的数据单元格不确定它是什么意思。将
Set ws=“ASM Concatented Address w notes”
更改为
Set ws=ThisWorkbook.Sheets(“ASM Concatented Address w notes”)
我假设您的工作簿中有一个同名的工作表。Siddharth它工作得非常好。无论如何,删除粘贴单元格后的7行。与粘贴到n94类似,可以删除行95到102。