ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: OKJSJSF

[求助] 小程序练习

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-2-2 12:49 | 显示全部楼层
OKJSJSF 发表于 2020-2-2 11:50
终于查到删除重复项方法第一参数的含义: 当选定一个区域,
Columns:=1或Columns:=Array(1)的话,那么 ...

经实验,这个方法是错误的,X并不能比对1至X,只能比对X这一列!

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2020-2-2 15:44 来自手机 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
OKJSJSF 发表于 2020-2-2 12:49
经实验,这个方法是错误的,X并不能比对1至X,只能比对X这一列!

精神可嘉,选题是不是有点老啊

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-2-2 16:34 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
zpy2 发表于 2020-2-2 15:44
精神可嘉,选题是不是有点老啊

老师好!我是用的2007版的,选题确实老,但功能我是常用的。
有个问题,论坛中数组与字典好像都是连接字符串后去重的,那么数组与字典的元素难道没有长度限制吗?如果有,去重就会出错(可能),还有集合,集合的元素是不管数字、文本、图片、整个文件都可以作为元素,如果是字符串,也不知有无长度限制?当然,一般情况下,一个单元格中不会录入长度达三万以上字符的,一行单元格也不会一万六千列全都录上。
学生还发了一个求助贴,关于在一个过程中执行程序时无意触发了另一个程序过程并出错,我把它比喻为“交叉感染”。如何在使用输入数据对话框时禁止改变当前工作表,或者改变活动工作表后,程序仍有效。
再一个问题是,我的工作簿中,有一个图片批量对齐单元格的程序,主要目的是,当工作表中已经插入大量图片,比如在一列中,但还没有对齐各个单元格的左上角。可能因为时间紧,没有把图片大小一个个调为所在单元格大小。当有了这个功能后,单击按钮,表中图片马上对齐调好。所以,当一个单元格中不小心插了多幅图时,它们会重叠覆盖。如何把这样的多幅图在一个单元格中错开呢?
太谢谢老师了,还送学生花!

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-2-2 16:37 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
整个春节,不出门就在家搞这个。

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-2-2 20:05 | 显示全部楼层
本帖最后由 OKJSJSF 于 2020-2-2 20:09 编辑

列表可见行去重计数又发现了一句错
For Each myran2 In myran
        If myran2 <> "" Then
            myran.SpecialCells(xlCellTypeVisible).Select,,,
next
循环范围myran应改为myran.SpecialCells(xlCellTypeVisible)
For Each myran2 In myran.SpecialCells(xlCellTypeVisible)
,,,
next






TA的精华主题

TA的得分主题

 楼主| 发表于 2020-2-6 20:44 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 OKJSJSF 于 2020-2-7 14:15 编辑

文摘:Sub CenterOnCell(OnCell As Range)
    Dim VisRows As Integer
    Dim VisCols As Integer
    OnCell.Parent.Parent.Activate   '    激活区域所在的工作簿和工作表
    OnCell.Parent.Activate
    With ActiveWindow.VisibleRange
        VisRows = .Rows.count     '    获取活动窗口的可视行数和列数
        VisCols = .Columns.count
    End With
    With Application
        .Goto reference:=OnCell.Parent.Cells(.WorksheetFunction.Max(1, OnCell.Row + (OnCell.Rows.count / 2) - (VisRows / 2)), .WorksheetFunction.Max(1, OnCell.Column + (OnCell.Columns.count / 2) - .WorksheetFunction.RoundDown((VisCols / 2), 0))), Scroll:=True
    End With     '    确定参考单元格并用GOTO方法将该单元格定位到屏幕左上角。'    该参考单元格用给定的单元格的行数和列数分别减去可视行数和可视列数除以2来确定。'    用MAX函数确保参考单元格的最小行数和列数为1。其实用不到 .top 了
x1 = ActiveWindow.ScrollRow
x2 = Range("a1:a" & x1).Height
这个x2就 OK了

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-2-6 20:45 | 显示全部楼层
本帖最后由 OKJSJSF 于 2020-2-7 14:14 编辑

文摘:有时候,我们需要在一个单元格中反复输入不同的数字,以测算其他单元格中的公式计算出的值,输入后一回车,就会跳到下面行的单元格,这给测试工作带来很大的麻烦。实际上,我们可以选中此测试单元格后,此单元格成为活动单元格,然后再按住Ctrl,再次点选此单元格。这样回车后就不会跳到其他行了,仍然选定为此单元格,可以反复输入测试数据观察公式的计算结果。

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-2-7 14:04 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
OKJSJSF 发表于 2020-2-6 20:44
Sub CenterOnCell(OnCell As Range)
    Dim VisRows As Integer
    Dim VisCols As Integer

单元格的.Top属性不一定是它在窗口中的上边距,.VisibleRange.Rows.count属性也不一定是窗口的可见行的总行数、总列数,只有拖动窗口滚动条或点击滚动条向下箭头时,才会返回实际可见行行数 或列数。所以,不能用于让激活单元格总是滚动位于窗口中间或其他指定位置。
捕获.JPG

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-2-7 14:13 | 显示全部楼层
OKJSJSF 发表于 2020-2-6 20:44
Sub CenterOnCell(OnCell As Range)
    Dim VisRows As Integer
    Dim VisCols As Integer

本方法计划用于小程序中的会议助手功能,让突显的大字总是显示在窗口的中上部或中下部:当活动单元格在窗口可见行的总可见行数的半数以上时,让大字显示在中下部,当活动单元格在窗口可见行的总可见行数的半数以下时,让大字显示在中上部。左右方向则不再设置。看来是不行的。

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-2-7 16:30 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-18 23:27 , Processed in 0.044061 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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