2014-12-05 174 views
0

考虑到我已经通过另一个线程解释了“如何粘贴到第一个空白单元格”...... here 我需要知道如何粘贴“值”。 例子:Excel:如何将“值”粘贴到第一个空白单元格?

Dim sh As Worksheet, tCell As Range 
Sheets("Lunch Extend").Range("B4:F31").Copy 
Set sh = Sheets("Backup") 
Set tCell = FreeCell(sh.Range("B3")) 
sh.Paste PasteSpecial xlValues tCell 

然而,最后的行不正确读取。任何帮助?

sh.Paste tCell 

...的作品,但我需要的价值观。谢谢。

添加这里接龙功能...

Function FreeCell(r As Range) As Range 
' returns first free cell below r 
    Dim lc As Range  ' last used cell on sheet 
    Set lc = r.Offset(1000, 0).End(xlUp).Offset(1, 0) 
    Set FreeCell = lc 
End Function 
+0

您的语法对于Sheet.PasteSpecial方法是不正确的,但它可能会更简单地使用Range.PasteSpecial方法。请参阅VBA帮助以正确使用这些方法。 – 2014-12-05 17:30:41

回答

1

假设FreeCell是你写一个函数,它的工作原理。试试这个:

Dim sh As Worksheet, tCell As Range 
    Sheets("Lunch Extend").Range("B4:F31").Copy 
    Set sh = Sheets("Backup") 
    Set tCell = FreeCell(sh.Range("B3")) 

    tCell.PasteSpecial Paste:=xlPasteValues 
+1

工作完美!非常感谢您的帮助。我希望我能投票,但可悲的是我不能。但是,你有能力理解我的问题,并且如此精确地回答它,不仅感激,而且令人印象深刻。 – 2014-12-05 18:15:30

相关问题