ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1500|回复: 7

[求助] VBA转换VSTO--VB.NET,求助写法

[复制链接]

TA的精华主题

TA的得分主题

发表于 2021-3-26 11:33 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
Sub xx()
            Dim r%, i%, arr, arr1, d As Object, str As String, m
        Set d = CreateObject("scripting.dictionary")
        With Worksheets("sheet1")
            r = .Cells(.Rows.Count, 1).End(xlUp).Row
            arr = .Range("a1:E" & r)
            For i = 2 To UBound(arr)
                str = arr(i, 1) & "|" & arr(i, 2) & "|" & arr(i, 3) & "|" & arr(i, 4)
                If Not d.exists(str) Then
                    Set d(str) = CreateObject("scripting.dictionary")
                End If
                d(str)(arr(i, 5)) = ""
            Next i
            For i = 0 To d.Count - 1
                arr1 = d(d.keys()(i)).keys
                m = Application.Small(arr1, 1)
                t = t + 1
                .Cells(t + 1, 8).Resize(1, 4) = Split(d.keys()(i), "|")
                .Cells(t + 1, 12) = m
            Next i
        End With
    End If
End Sub
求助VBA语句转换到VB.NET语法里面,完全搞不懂 ,求各位大师解惑,谢谢


TA的精华主题

TA的得分主题

发表于 2021-3-26 15:11 | 显示全部楼层
我的一点体会,先不管什么语言,简单的说,程序就是一个一个helllo world的叠加,官方文档就有代码演练如何访问单元格,关键有耐心按照规范一步步往下推演,vb.net和vb语法很接近,自己敲出来的代码才记忆深刻。建议不要一开始就写那些一句代码完成多个功能的句子,看似简练,后续有会有许多的困惑。excel最关键最基础的就是访问Range对象,这步悟了后面的路就好走了。

TA的精华主题

TA的得分主题

发表于 2021-3-27 15:37 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2022-12-29 15:59 | 显示全部楼层
lipton 发表于 2021-3-26 15:11
我的一点体会,先不管什么语言,简单的说,程序就是一个一个helllo world的叠加,官方文档就有代码演练如何 ...

说的很好,说的一针见血,直击问题本质,range

TA的精华主题

TA的得分主题

发表于 2023-9-10 11:01 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
直接复制到VSTO,然后修改红色的地方,可以使用对象浏览器搜索那个错误的属性或方法,直接复制对象浏览器复制的第一个

TA的精华主题

TA的得分主题

发表于 2024-2-22 20:43 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
lipton 发表于 2021-3-26 15:11
我的一点体会,先不管什么语言,简单的说,程序就是一个一个helllo world的叠加,官方文档就有代码演练如何 ...

说的太好了,一针见血

TA的精华主题

TA的得分主题

发表于 2024-2-26 10:08 | 显示全部楼层
VBA和VB的语法大同小异吧,如果用VS的话,直接把代码粘过去,顶多就是添加一些引用引用,根据VS的智能提示就能搞了吧!

TA的精华主题

TA的得分主题

发表于 2024-4-4 20:17 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
vb.net是完全面向对象的,如果用 vb.net还不如用 C#,估计更好理解一点。
类库也更多,学习资料也更多。如果会VBA,学习C#也很快。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-27 21:46 , Processed in 0.035639 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表