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

看你代码等同于复制区域至另一个区域,那就用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