vba函数复制一个单元格并粘贴到我写入的活动单元格= macrofunction
在制作vba函数时,我想简单地复制一个固定的单元格,并将其值粘贴到同一工作表中突出显示的单元格(所选单元格我input的macros函数)。 这个工程,当我从编辑器中运行macros,但使公式macros不适用于粘贴单元格的单元格我正在写函数英寸如果我写在C2 = macropasteC1其中我的macros被称为macropastec1我得到#NAME而不是C1中的数字,虽然当我用vba编辑器select的c2运行macros时,它确实工作,虽然我失去了确切的公式
这是类似的东西
'Sub macropastec1() macropastec1 Macro Selection.Copy cell("C1").Select active.PasteSpecial Paste:=xlPasteValues**,Operation:=xlNone,SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False** End Sub`
(C1)。select,但与上述类似。 我开始通过录制它,然后我插入macros复制它,并改变子function获得macrosfunction
请帮助我真的需要这个能力
另一个在编辑器中用来激活一个cel并在编辑器中运行的变体我认为是
'function macropastec1() macropastec1 Macro Selection.Copy range.("C1").Select activecell.PasteSpecial Paste:=xlPasteValues**,Operation:=xlNone,SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False** End function`
因为你需要一个macros函数来从一个单元格内运行= =函数
这是很难复制,但我认为我想要实现它清楚的jist
对不起,这没有真正的答案,但它确实澄清了什么被问
c1中的macros函数,如果从一个不断变化的单元格就是c3,所以在c1中我有
Function Min_Cell2(cx34 As Range) 'Function for defining the lowest number in a cell selected by the user If Minimum <> "" Then If Value_Range.Value < Minimum Then Minimum = Value_Range.Value Else Minimum = Value_Range.Value End If Min_Cell = Minimum End Function
或最高等值。 所以我需要它来粘贴特殊的价值,而不是更新它..
我认为幸运的是这个function
Function macropastec2() macropastec2 = Range("C1").Value End Function
在进入一个单元格时给出= macropastec2(C1)
#VALUE Function macropastec2() As varient macropastec2 = Range("C1").Value End Function
给
#NAME
:S如果有帮助,我认为原来的function可以简化为类似的东西
'function macropastec1() macropastec1 Macro Selection.Copy range.("C1").Select activecell.PasteSpecial Paste:=xlPasteValues**, End function`
你可以使用这个function:
Function macropastec1() As Variant macropastec1 = Range("C1").Value End Function
如果你需要指定一个特定的表格,你可以在函数中join:
Function macropastec1() As Variant macropastec1 = Sheets("SheetName").Range("C1").Value End Function
VBA模块应该是这样的:
当您更改C1
时,此function不会更新单元格值。
你可以在任何单元格中使用它:
=macropastec1()
示范:
1)在单元格A1中input=macropastec1()
2a)如果我们改变C1:
2b)A1不变:
3a)如果我们现在在A2中input=macropastec1()
3b)我们看到新的价值,而第一个价值保持不变:
在制作vba函数时,我想简单地复制一个固定的单元格,并将它的值粘贴到同一工作表中突出显示的单元格中。
在标准模块中包含以下内容:
Public Function macropastec1(r As Range) macropastec1 = r.Value End Function
你会用它的工作表,如:
编辑#1:
如果要控制复制/粘贴,请使用Sub而不是UDF()
在相同的标准模块中包含以下Sub :
Public Sub macropastSC1() Range("C1").Copy ActiveCell.PasteSpecial (xlPasteValues) End Sub
- 该子只在您决定运行时运行
- 您必须先select目标单元格
- 如果C1包含公式,则目标单元格将获得该值。
记住 :
工作表单元格中的UDF只能将值返回到其所在的单元格。 它不能更改工作表中的其他单元格。