Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3157|回复: 9

[已解决]excel宏编程

[复制链接]
发表于 2014-4-6 12:43 | 显示全部楼层 |阅读模式
本帖最后由 lfq759 于 2014-4-6 15:52 编辑

在excel宏编辑器里怎么写入?例如:我在a2单元格里输入时间(23或11),那么在c2单元格里就自动显示<=23,“上”或>=11,“下”;求完整的写入代码
最佳答案
2014-4-6 15:11
lfq759 发表于 2014-4-6 15:04
是的
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. On Error GoTo error
  3. timePart = CDate("12:10:00")
  4. timePart1 = CDate("18:00:00")
  5. If Target.Column = 1 And Target.Row = 1 Then
  6. If Target <= timePart Then Target.Cells(1, 3) = "上"
  7. If Target >= timePart1 Then Target.Cells(1, 3) = "下"
  8. End If
  9. error:
  10.   Exit Sub
  11. End Sub
复制代码
99.rar (6.02 KB, 下载次数: 7)
发表于 2014-4-6 13:06 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2014-4-6 13:49 | 显示全部楼层
qh8600 发表于 2014-4-6 13:06
表明白

=IF(F3<=TIME(12,10,0),"上",IF(F3>=TIME(18,0,0),"下",""))。   在单元格里的if函数在宏编辑器里编写
回复

使用道具 举报

发表于 2014-4-6 14:29 | 显示全部楼层
lfq759 发表于 2014-4-6 13:49
=IF(F3=TIME(18,0,0),"下",""))。   在单元格里的if函数在宏编辑器里编写

如果14点呢
回复

使用道具 举报

发表于 2014-4-6 14:38 | 显示全部楼层
lfq759 发表于 2014-4-6 13:49
=IF(F3=TIME(18,0,0),"下",""))。   在单元格里的if函数在宏编辑器里编写

Sub Macro1()
timePart = CDate("12:10:00")
timePart1 = CDate("18:00:00")
If Cells(3, 6) <= timePart Then Cells(3, 7) = "上"
If Cells(3, 6) >= timePart1 Then Cells(3, 7) = "下"
End Sub
判断F3,在G3输出“上”或者“下”
楼主试试
回复

使用道具 举报

 楼主| 发表于 2014-4-6 15:02 | 显示全部楼层
qh8600 发表于 2014-4-6 14:38
Sub Macro1()
timePart = CDate("12:10:00")
timePart1 = CDate("18:00:00")

可能是我没有说明白:“列如,我在A1单元格输入<12:00,然后在C1单元格里显示“上”;如果A1输入>18:00,就在C1单元格显示“下”。
回复

使用道具 举报

发表于 2014-4-6 15:03 | 显示全部楼层
本帖最后由 qh8600 于 2014-4-6 15:04 编辑
lfq759 发表于 2014-4-6 15:02
可能是我没有说明白:“列如,我在A1单元格输入18:00,就在C1单元格显示“下”。

只是a1输入,c1输出吗
还是A列输出,C列输出
回复

使用道具 举报

 楼主| 发表于 2014-4-6 15:04 | 显示全部楼层
qh8600 发表于 2014-4-6 15:03
只是a1输入,c1输出吗

是的
回复

使用道具 举报

发表于 2014-4-6 15:11 | 显示全部楼层    本楼为最佳答案   
lfq759 发表于 2014-4-6 15:04
是的
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. On Error GoTo error
  3. timePart = CDate("12:10:00")
  4. timePart1 = CDate("18:00:00")
  5. If Target.Column = 1 And Target.Row = 1 Then
  6. If Target <= timePart Then Target.Cells(1, 3) = "上"
  7. If Target >= timePart1 Then Target.Cells(1, 3) = "下"
  8. End If
  9. error:
  10.   Exit Sub
  11. End Sub
复制代码
99.rar (6.02 KB, 下载次数: 7)
回复

使用道具 举报

 楼主| 发表于 2014-4-6 15:18 | 显示全部楼层
qh8600 发表于 2014-4-6 15:11

谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-6-1 02:51 , Processed in 0.318573 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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