Excel精英培训网

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

[已解决]公式区间变量

[复制链接]
发表于 2022-5-7 22:53 | 显示全部楼层 |阅读模式
2学分
本帖最后由 朗驰 于 2022-5-8 17:11 编辑

Dim L, M, N
         K = InputBox()

         L = InputBox()''   4

  M = InputBox()        '   1


        N = InputBox()  '   15


Range("B4:B98").FormulaR1C1 = "=IF((A4>=1,A4<15),"",A4) "

是我想太复杂了  问题就一个 =IF((A4>=1,A4<15),"",A4) 中的数字在vba中到单元格

想达到如下效果


=IF((A&L>=M,A&L<N),"",A&L)  4  1  15   或者     =IF((A4>=m,A4<n),"",A4 )      1    15  

   If K = False Then
   Exit Sub
   If L = False Then
   Exit Sub
   If M = False Then
   Exit Sub
   If N = False Then

   ElseIf K = "" Then
   ElseIf L = "" Then
    ElseIf M = "" Then
    ElseIf N = "" Then

        Exit Sub
    End If
    End If

   End If

   End If


   If Cells(K, 1) > M And Cells(L, 1) <= N Then
        

             'If Range("A" & N)>= 1and <Range("A" & m)  Then


                 '=IF((A4>=1,A4<15),"",A4)                                                                     '
End If

end sub




诸位老师    公式变量怎么弄呢   


K   起始行
L    结尾行
M   小数字
N    大数字


公式为   =if (起始行)<=小数字,(结尾行)<大数字,"",起始行



  











最佳答案
2022-5-7 22:53
l = InputBox("", "", "")
m = InputBox("", "", "")

       n = InputBox("", "", "")
Range("BK" & l).Select
Selection.FormulaR1C1 = "=IF(AND(RC[-62]>=" & m & ",RC[-62]<" & n & "),"""" ,RC[-62])"
Selection.AutoFill Destination:=Range("BK4:BK98"), Type:=xlFillDefault

最佳答案

查看完整内容

l = InputBox("", "", "") m = InputBox("", "", "") n = InputBox("", "", "") Range("BK" & l).Select Selection.FormulaR1C1 = "=IF(AND(RC[-62]>=" & m & ",RC[-62]
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2022-5-7 22:53 | 显示全部楼层    本楼为最佳答案   
l = InputBox("", "", "")
m = InputBox("", "", "")

       n = InputBox("", "", "")
Range("BK" & l).Select
Selection.FormulaR1C1 = "=IF(AND(RC[-62]>=" & m & ",RC[-62]<" & n & "),"""" ,RC[-62])"
Selection.AutoFill Destination:=Range("BK4:BK98"), Type:=xlFillDefault
回复

使用道具 举报

发表于 2022-5-8 13:52 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2022-5-8 15:51 | 显示全部楼层
本帖最后由 朗驰 于 2022-5-8 16:14 编辑
psxk3535028-1 发表于 2022-5-8 13:52
B列的 RC[-62] 在哪里?

嗯  没有B列

是下面这个公式     放在任意单元格  比如  我是放在这里的  Range("B4:B98").FormulaR1C1 =



公式为   =if (起始行)<=小数字,(结尾行)<大数字,"",起始行

=IF((A4>=1,A4<15),"",A4)  

这个公式 貌似
4 1 15三个变量就可以了    即在vba中数字位字母   单元格中转为输入的数字


Selection.FormulaR1C1 = "=IF(AND((" & Cells(4, 1).Address(0, 0) & ")>=M,(" & Cells(4, 1).Address(0, 0) & ")<N),"""",(" & Cells(4, 1).Address(0, 0) & "))"

Selection.FormulaR1C1 = "=IF(AND("A4">=M,"A4"<N),"""","A4")"
Selection.FormulaR1C1 = "=IF("A4">=M,"A4"<N),"""","A4")"
我自己试了  都会报语法错 ~~~~1004程序或对象定义错



回复

使用道具 举报

 楼主| 发表于 2022-5-8 16:07 | 显示全部楼层
psxk3535028-1 发表于 2022-5-8 13:52
B列的 RC[-62] 在哪里?

  懂了  

Range("B4:B98")


老师你说的是这个   这个不是变量   这个是固定的  可以是任意列




'=IF((A4>=1,A4<15),"",A4)    是这个里面的数字为变量
Selection.FormulaR1C1 = "=IF("A K">=M,"AL"<N),"""","AK")"




回复

使用道具 举报

发表于 2022-5-8 17:20 | 显示全部楼层
RC是以Range("B4:B98")某单元格为基准,偏移多少行多少列,下正上负,右正左负,RC格式用的少,就原来那个格式而言,理解错了勿怪。
回复

使用道具 举报

 楼主| 发表于 2022-5-8 18:08 | 显示全部楼层
psxk3535028-1 发表于 2022-5-8 17:20
RC是以Range("B4:B98")某单元格为基准,偏移多少行多少列,下正上负,右正左负,RC格式用的少,就原来那个 ...

呃     我的表述真的有问题

rc这个谢谢指点  

其他的是废话
------------------------------------------------------------------------
想把下面的公式中的所有数字  设置为变量   用input来保持灵活性

=IF(AND(A4>=1,A4<15),"",A4)
=IF(AND(A变量>=m变量,A4<n变量),"",A变量)

回复

使用道具 举报

 楼主| 发表于 2022-5-8 18:15 | 显示全部楼层
psxk3535028-1 发表于 2022-5-8 17:20
RC是以Range("B4:B98")某单元格为基准,偏移多少行多少列,下正上负,右正左负,RC格式用的少,就原来那个 ...



如图所示   N  M没法转为数字
回复

使用道具 举报

发表于 2022-5-9 02:13 | 显示全部楼层
朗驰 发表于 2022-5-8 18:15
如图所示   N  M没法转为数字

M,N是代码里面的,不是公式里面的值
如果如图所示,试试下面的代码,看看可行

  l = InputBox("", "", "")
m = InputBox("", "", "")

       n = InputBox("", "", "")

Range("BK" & l).FormulaR1C1 = "=IF(AND(RC[-62]>=" & m & ",RC[-62]<" & n & "),"""" ,RC[-62])"
Range("BK" & l).AutoFill Destination:=Range("BK4:BK98"), Type:=xlFillDefault


回复

使用道具 举报

发表于 2022-5-9 02:17 | 显示全部楼层
刚开始应该是bk列弄成了b列了,所以rc[-62]不对,但bk列就是正确的了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 00:40 , Processed in 1.766192 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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