ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

不懂VBA也编程

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2009-2-11 14:06 | 显示全部楼层
本帖已被收录到知识树中,索引项:数据类型和基本语句
“山菊花”谢谢你!!

TA的精华主题

TA的得分主题

发表于 2009-2-11 20:10 | 显示全部楼层

请教

你好!看到一个表格但不知道他是怎吗用尖头调节图表里的线!
还有就是看他单元格里看不到公式!但调节肩头单元格里的数字就自己改动1
好想知道!请教能帮说下吗!他是不是用的是编程
沥青混凝土级配设计.rar (10.07 KB, 下载次数: 115)

鼠标右键点击绿色区域,选择“组合—取消组合”。可以看到多个对象被选择。
按Esc键取消对象的选择状态,或用鼠标点击任意一个单元格取消对象的选择。
中间并列排着五个微调按钮,它可以修改单元格的值。
用鼠标右键点击其中一个(如最左边的1#),选择“设置控件格式”,在打开的对话框中,选择“控制”页,可看到“单元格链接”设置为“C12”,即点击该控件的箭头,C12单元格的值会被修改。
其它类同。

类似问题你应该在附件所在帖子中提问,请养成规范发帖的习惯,谢谢。——山菊花

TA的精华主题

TA的得分主题

发表于 2009-2-12 11:38 | 显示全部楼层
1、在Excel中玩转邮件合并 (2楼)

弱弱的提问(用的例子是2楼的xiabaoyuan_在线扳手、枪校验记录表单.zip ):
1)微调按钮的格式,最小值为当前行号所在的行,意思是如果当前行号输入在J1,这个最小值就变成1了吗?那个最大值,如果弄成个很大的数值,超过了实际行数,打印时会不会打出只有框架没有实际数据的表来?
2)照你这个例子弄的,然后直接点“连续打印”这个命令按钮就可以打了吗?打出来会是一张纸有好几个这样的小单子还是一张纸一个小单子?如果是一张纸几个小单子,会不会出现有些单断开的情况?(即单子刚好横跨两张纸)


1、微调按钮设置最小值与最大值,表示使用按钮修改单元格的值时,受“最小值”与“最大值”的限制。这个操作与打印无关。打开的范围从J4到J5,如果J5超出了实际行数,它会打印出空表来,如果要作限制,可以修改代码:
Private Sub CommandButton1_Click()
For i = [j4] To [j5]
[j2] = i
If [b1] = 0 Then Exit For ’增加这一行,如果B1单元格为0,退出循环
Me.PrintOut
Next
End Sub

2、这个最好自己实际操作一下。

——山菊花

TA的精华主题

TA的得分主题

发表于 2009-2-13 21:03 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
山菊老师:

如何用VB实现IF函数呢?

右键点击工作表标签,将下面的代码粘贴到光标处:
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. If Target.Count > 1 Then Exit Sub
  3. If Target.Column <> 5 Or Target.Row = 1 Then Exit Sub
  4. If UCase(Target) = UCase(Target.Offset(, -2)) Then
  5. Target.Offset(, -4) = "√"
  6. Else
  7. Target.Offset(, -4) = "×"
  8. End If
  9. End Sub
复制代码
——山菊花

如何用VB实现IF函数.rar

4.54 KB, 下载次数: 128

TA的精华主题

TA的得分主题

发表于 2009-2-13 23:21 | 显示全部楼层
山菊老师:
     这就是我想要的,谢了!跟了这贴我受益匪浅呀!!不过在我的例子里有几个问题需要解决一下,
一:把答案单个删除后,判断变"X"了,不像IF那样,没答案就不显,选错了就显"X";
二:如果几个单元格一起删除的话,判断就没变化。
三:如果我想再加一个条件呢,如A17或A18公式那样;
四:如果我把C列剪切到SHEET2呢?

代码作如下修改,可满足一、二的要求,三、四两点没理解你的意思。
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     Dim Rng As Range
  3.     For Each Rng In Target
  4.         If Rng.Column = 5 And Rng.Row > 1 Then
  5.             If Rng = "" Then
  6.                 Rng.Offset(, -4).ClearContents
  7.             Else
  8.                 If UCase(Rng) = UCase(Rng.Offset(, -2)) Then
  9.                     Rng.Offset(, -4) = "√"
  10.                 Else
  11.                     Rng.Offset(, -4) = "×"
  12.                 End If
  13.             End If
  14.         End If
  15.     Next
  16. End Sub
复制代码
——山菊花

如何用VB实现IF函数.rar

6.64 KB, 下载次数: 146

TA的精华主题

TA的得分主题

发表于 2009-2-15 11:50 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-2-15 13:56 | 显示全部楼层

求助:山菊花老师曾经的一个示例

详见附件。 销售.rar (16.34 KB, 下载次数: 251)


将代码改为如下试试:
  1. Private Sub CommandButton1_Click()
  2. Dim Sh As Worksheet, c As Range
  3. Dim nRows%, nRow&
  4. If Range("b5") = "" Then Exit Sub
  5. nRows = IIf(Range("b11") = "", Range("b12").End(xlUp).Row - 5, 6)
  6. Set Sh = Sheets(Month(Range("h4")) & "月")
  7. With Sh
  8. Set c = .Range("a:a").Find(Range("h3").Value, LookIn:=xlValues, lookat:=1)
  9. If c Is Nothing Then
  10. nRow = .Range("a65536").End(xlUp).Row + 1
  11. .Range("d" & nRow).Resize(6, 6).Value = Range("b6:h11").Value
  12. .Range("a" & nRow).Resize(nRows, 1) = Range("h3").Value
  13. .Range("b" & nRow).Resize(nRows, 1) = Range("h4").Value
  14. .Range("c" & nRow).Resize(nRows, 1) = Range("c4").Value
  15. End If
  16. End With
  17. Sheets("打印").PrintOut
  18. Range("b6:h11").ClearContents

  19. End Sub
复制代码
——山菊花


运行没问题 ,但调试时F8至.Range("a" & nRow).Resize(nRows, 1) = Range("h3").Value仍然显示错误,山菊花老师,再帮我看看行吗?谢谢!!!

[ 本帖最后由 ibook3524 于 2009-2-15 19:38 编辑 ]

TA的精华主题

TA的得分主题

发表于 2009-2-15 14:05 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
真好!!

TA的精华主题

TA的得分主题

发表于 2009-2-16 00:22 | 显示全部楼层
山菊花老师,谢谢你,你的例子真是太好了!

TA的精华主题

TA的得分主题

发表于 2009-2-16 17:39 | 显示全部楼层

请问山菊老师

山菊老师不但技术好,而且人品更好。自从发现这个论坛后,我天天到此学习。
我是个菜鸟,请别见笑。
以下代码是您设置的用VBA设置当前工作表的背景色,如果工作簿中的每张工作表都有相同效果,应该怎么做?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Rng As Range
Set Rng = Target.Range("a1")
Cells.Interior.ColorIndex = 0  '清除所有背景色
Rng.EntireColumn.Interior.ColorIndex = 40  '设置当前列颜色
Rng.EntireRow.Interior.ColorIndex = 36  '设置当前行颜色
End Sub

回复在5楼。
——山菊花
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-4-28 03:23 , Processed in 0.036360 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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