sinat_39380137 2019-05-13 17:09 采纳率: 0%
浏览 1786

VBA读取Excel单元格数据,处理后再写入该表中的其他位置,怎么实现?

# 用Excel的VBA能够从Excel中读取数据,也能够实现数据写入到单元格中,但是怎么实现在一个Function中实现先读取数据,再写到表的其他单元格呢?**__

Public Function test1() As String
Dim strArray() As Variant
Dim wk_data As Variant

Set wk_data = Sheets("Sheet1")
strArray = wk_data.Range("A47:B48").Value
出现错误!! wk_data.Range("G43").Resize(UBound(strArray, 1), UBound(strArray, 2)).Value = strArray

test1 = "true"

End Function

  • 写回答

1条回答

  • 鱼鱼得水 2021-04-19 14:17
    关注

    看你代码等同于复制区域至另一个区域,那就用copy和paste,粘贴后再读取处理返回;

    具体,你学习下如何录制宏,如何看代码

    Sub CheArea()
        Dim Sh as worksheet: Set sh=worksheets("AA")    '获取ws表格1---源表格
        Dim Rng as Range :set Rng=Sh.Range("A1:B6")     '获取处理区域
        Rng.copy                                        '复制
        Dim Xh as WorkSheet:Set Xh=workSheets("BB")     '获取ws表格2---目标表格
        Xh.cells(1,1).paste                             '粘贴(考虑只复制格式或其他就录制宏时取参数)
        
        Din Rn as range                                 '定义循环参数
        For each Rn in Xh.Range("A1:B6")
            Rn.value=f(Rn.value)                        '编写你格式化的函数
        Next
        
    End Sub
    评论

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置