Excel精英培训网

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

[已解决]急,求助:简化代码

[复制链接]
发表于 2011-6-18 16:55 | 显示全部楼层 |阅读模式
Sub channel()
If Sheets("短信").Range("F3").Value > -0.01 And Sheets("短信").Range("F3").Value < 0.01 Then
    Sheets("短信").Range("G2") = Sheets("短信").Range("G3").Value '等号前是写入位置,等号后是写出位置
    Sheets("短信").Range("H2") = Sheets("短信").Range("H3").Value
    Sheets("短信").Range("I2") = Sheets("短信").Range("I3").Value
    Sheets("短信").Range("J2") = Sheets("短信").Range("J3").Value
    Sheets("短信").Range("K2") = Sheets("短信").Range("K3").Value
    Application.Run "mail126"
ElseIf Sheets("短信").Range("F4").Value > -0.01 And Sheets("短信").Range("F4").Value < 0.01 Then
    Sheets("短信").Range("G2") = Sheets("短信").Range("G4").Value '等号前是写入位置,等号后是写出位置
    Sheets("短信").Range("H2") = Sheets("短信").Range("H4").Value
    Sheets("短信").Range("I2") = Sheets("短信").Range("I4").Value
    Sheets("短信").Range("J2") = Sheets("短信").Range("J4").Value
    Sheets("短信").Range("K2") = Sheets("短信").Range("K4").Value
    Application.Run "mail126"
ElseIf Sheets("短信").Range("F5").Value > -0.01 And Sheets("短信").Range("F5").Value < 0.01 Then
    Sheets("短信").Range("G2") = Sheets("短信").Range("G5").Value '等号前是写入位置,等号后是写出位置
    Sheets("短信").Range("H2") = Sheets("短信").Range("H5").Value
    Sheets("短信").Range("I2") = Sheets("短信").Range("I5").Value
    Sheets("短信").Range("J2") = Sheets("短信").Range("J5").Value
    Sheets("短信").Range("K2") = Sheets("短信").Range("K5").Value
    Application.Run "mail126"
ElseIf Sheets("短信").Range("F6").Value > -0.01 And Sheets("短信").Range("F6").Value < 0.01 Then
    Sheets("短信").Range("G2") = Sheets("短信").Range("G6").Value '等号前是写入位置,等号后是写出位置
    Sheets("短信").Range("H2") = Sheets("短信").Range("H6").Value
    Sheets("短信").Range("I2") = Sheets("短信").Range("I6").Value
    Sheets("短信").Range("J2") = Sheets("短信").Range("J6").Value
    Sheets("短信").Range("K2") = Sheets("短信").Range("K6").Value
    Application.Run "mail126"
ElseIf Sheets("短信").Range("F7").Value > -0.01 And Sheets("短信").Range("F7").Value < 0.01 Then
    Sheets("短信").Range("G2") = Sheets("短信").Range("G7").Value '等号前是写入位置,等号后是写出位置
    Sheets("短信").Range("H2") = Sheets("短信").Range("H7").Value
    Sheets("短信").Range("I2") = Sheets("短信").Range("I7").Value
    Sheets("短信").Range("J2") = Sheets("短信").Range("J7").Value
    Sheets("短信").Range("K2") = Sheets("短信").Range("K7").Value
    Application.Run "mail126"
ElseIf Sheets("短信").Range("F8").Value > -0.01 And Sheets("短信").Range("F8").Value < 0.01 Then
    Sheets("短信").Range("G2") = Sheets("短信").Range("G8").Value '等号前是写入位置,等号后是写出位置
    Sheets("短信").Range("H2") = Sheets("短信").Range("H8").Value
    Sheets("短信").Range("I2") = Sheets("短信").Range("I8").Value
    Sheets("短信").Range("J2") = Sheets("短信").Range("J8").Value
    Sheets("短信").Range("K2") = Sheets("短信").Range("K8").Value
    Application.Run "mail126"
ElseIf Sheets("短信").Range("F9").Value > -0.01 And Sheets("短信").Range("F9").Value < 0.01 Then
    Sheets("短信").Range("G2") = Sheets("短信").Range("G9").Value '等号前是写入位置,等号后是写出位置
    Sheets("短信").Range("H2") = Sheets("短信").Range("H9").Value
    Sheets("短信").Range("I2") = Sheets("短信").Range("I9").Value
    Sheets("短信").Range("J2") = Sheets("短信").Range("J9").Value
    Sheets("短信").Range("K2") = Sheets("短信").Range("K9").Value
    Application.Run "mail126"
ElseIf Sheets("短信").Range("F10").Value > -0.01 And Sheets("短信").Range("F10").Value < 0.01 Then
    Sheets("短信").Range("G2") = Sheets("短信").Range("G10").Value '等号前是写入位置,等号后是写出位置
    Sheets("短信").Range("H2") = Sheets("短信").Range("H10").Value
    Sheets("短信").Range("I2") = Sheets("短信").Range("I10").Value
    Sheets("短信").Range("J2") = Sheets("短信").Range("J10").Value
    Sheets("短信").Range("K2") = Sheets("短信").Range("K10").Value
    Application.Run "mail126"
End If
    Application.OnTime Now + TimeValue("00:01:00"), "channel"
End Sub
最佳答案
2011-6-18 17:41
回复 759857387 的帖子
  1. Sub channel()
  2. Dim i As Long
  3. With Sheets("短信")
  4. For i = 3 To 10
  5. If .Range("F" & i) > -0.01 And .Range("F" & i) < 0.01 Then
  6. Exit For
  7. End If
  8. Next i
  9. .Range(.Range("G2"), .Range("K2")) = .Range(.Range("G" & i), .Range("K" & i)).Value
  10. Application.Run "mail126"
  11. Application.OnTime Now + TimeValue("00:01:00"), "channel"
  12. End With
  13. End Sub
复制代码
你没有附件,没办法测试。。根据你的代码只能改成这样了
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2011-6-18 17:29 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2011-6-18 17:41 | 显示全部楼层
回复

使用道具 举报

发表于 2011-6-18 17:41 | 显示全部楼层    本楼为最佳答案   
回复 759857387 的帖子
  1. Sub channel()
  2. Dim i As Long
  3. With Sheets("短信")
  4. For i = 3 To 10
  5. If .Range("F" & i) > -0.01 And .Range("F" & i) < 0.01 Then
  6. Exit For
  7. End If
  8. Next i
  9. .Range(.Range("G2"), .Range("K2")) = .Range(.Range("G" & i), .Range("K" & i)).Value
  10. Application.Run "mail126"
  11. Application.OnTime Now + TimeValue("00:01:00"), "channel"
  12. End With
  13. End Sub
复制代码
你没有附件,没办法测试。。根据你的代码只能改成这样了
回复

使用道具 举报

 楼主| 发表于 2011-6-18 17:42 | 显示全部楼层
回复 sunjing-zxl 的帖子

谢谢啦,我试试
回复

使用道具 举报

 楼主| 发表于 2011-6-18 17:53 | 显示全部楼层
回复 sunjing-zxl 的帖子

求老师再给看看这个
{LARGE((INDIRECT("A4:A8")>=(TODAY()+(0-WEEKDAY(TODAY(),1))+2+P2))*(INDIRECT("A4:A8")<=(TODAY()+(0-WEEKDAY(TODAY(),1))+6+Q2))*(INDIRECT("D4:D8")),SUM((INDIRECT("A4:A8")>=(TODAY()+(0-WEEKDAY(TODAY(),1))+2+P2))*(INDIRECT("A4:A8")<=(TODAY()+(0-WEEKDAY(TODAY(),1))+6+Q2))*1))}
添加一个条件:对("A4:A8")取>0的值。

回复

使用道具 举报

发表于 2011-6-18 17:58 | 显示全部楼层
回复 759857387 的帖子

不要再同一个帖子,提出不相关联的问题。。
发新帖,并传上附件,做详细说明,你要什么目的
回复

使用道具 举报

 楼主| 发表于 2011-6-18 18:17 | 显示全部楼层
回复 sunjing-zxl 的帖子

测试有问题,后提的问题已经发帖没人理.
回复

使用道具 举报

 楼主| 发表于 2011-6-18 18:19 | 显示全部楼层
回复 sunjing-zxl 的帖子

显示是这样
80040217.png
回复

使用道具 举报

发表于 2011-6-18 18:20 | 显示全部楼层
老师,你那个代码用什么工具编辑的,可以分享一下吗?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-16 18:56 , Processed in 0.344958 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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