如何编写VBA代码实现自定义AWARD公式返回对应选中单元格的值?
解决自定义函数固定返回U7值的问题
嘿,我猜你的自定义函数里肯定是不小心硬编码了U7的引用,没正确处理传入的参数~ 咱们把代码改一改,让它能根据你传入的单元格动态返回对应的值:
如果你用的是Google Sheets(Apps Script)
function AWARD(cell) { // 获取传入单元格的实际值 const cellValue = cell.getValue(); // 判断值为0(或空)时返回"N/A",否则返回单元格本身的值 return cellValue === 0 || cellValue === "" ? "N/A" : cellValue; }
如果是Excel(VBA)
Function AWARD(cell As Range) As Variant Dim cellValue As Variant cellValue = cell.Value ' 处理0值或空单元格的情况 If cellValue = 0 Or cellValue = vbNullString Then AWARD = "N/A" Else AWARD = cellValue End If End Function
使用说明
- 在单元格输入
=AWARD(U7),就会返回U7的值(如果U7是0则显示"N/A") - 输入
=AWARD(U8),就会自动读取并返回U8单元格的值啦
修改后,函数会根据你传入的每个单元格参数动态获取内容,再也不会固定返回U7的值了~
内容的提问来源于stack exchange,提问作者user9403695
相关产品推荐
相关产品推荐

