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

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条回答 默认 最新

  • skyy_s 鱼鱼得水 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
    点赞 评论 复制链接分享

相关推荐