2014-01-30 113 views
2

我已经阅读了导致我将第一行更改为变量的文章,但我还需要“n94”作为变量。它将始终是7行和N列。我必须在将来重新编辑这6行等......试图连接备注笔记及其与数据量的时间过长。Excel VBA设置单元格作为变量

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 

感谢您的帮助

+0

它不清楚你有什么,你想要做什么 – brettdj

+0

我想细胞B101和特殊粘贴复制的值单元格N94然后删除行95-101。之后,我想选择B列中的另一个单元格并重复该过程。 – NoNo

回答

1

这将永远是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 
+0

就是这样。但我想单击单元格并让宏运行。如果我必须改变像B101那样的部分,那需要比手动完成更长的时间。如果这可能是一个变量,我会非常高兴:)我有大约6000行,我一直在手动做。 – NoNo

+0

将'.Range(“B101”)'改为'ActiveCell' :) –

+0

几乎在那里:我设置了ws =“ASM-Concatented Address w w notes”,当我运行它时,我得到一个输入框来创建一个表并选择我的数据单元格。 〜不确定它的意思。 – NoNo

相关问题