吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1237|回复: 24
收起左侧

[求助] vba 公式 变量怎么写呢

  [复制链接]
alongzhenggang 发表于 2022-5-9 01:32
本帖最后由 alongzhenggang 于 2022-5-18 20:59 编辑

[Visual Basic] 纯文本查看 复制代码
Dim K, L, M, N
        ' K = InputBox()
         L = InputBox()
        M = InputBox()
        N = InputBox()'好像只要三个 就够用了{:301_1008:}

Range("B4:B98").FormulaR1C1 = "=IF(AND(RC[-62]>=cells(1,n),RC[-62]<cells(1,m),"""",(""A"" & i ))"

                                                      =IF(AND(A4>=1,A4<22),"",A4) =IF(AND(A4>=M,A4<N),"",A4)     or  =IF(AND(AK>=M,A4<N),"",A4) or=IF(Ak=m,"",IF(AND(A&k>m<n),"",A&k))  写入   Range("B4:B&L")


input是设置一个区间的变量
比如 两个input  我输入  3  和 8  

那么3-8  是符合的为空      ""
1-2  9至其他  不符合的为A列值    引用A列值   有值则√   引用快点  转值不转完不能动

四个input 分别是A列数字k >= 数字m,  A列数字k<数字n       range  B列数字L



变量   是数字   K  L  M  N   --------  1   4   22   

试过  cell (n,1)   range("A&"n)    当然  目前这个RC  cell  也是行不通
手动输入当然知道  但是 =IF(AND(A4>=M,A4<N),"",A4)     or  =IF(AND(AK>=M,A4<N),"",A4)    想灵活点 用



下面这个  不知道为啥总失效    就是有的能用 用的就没反应 只有当前表  
For Each sht In Worksheets '建立for循环,遍历所有工作表
   
        If sht.Name <> "汇总" Then '若表名不等于“汇总”,执行下面代码
            If sht.Name <> "模板" Then
            
hide 列  也是  有的就是死活都横跳  就是不隐藏羽展开


请大佬们指点

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

约定的童话 发表于 2022-5-9 07:23
一般都用数组循环计算
hs248613 发表于 2022-5-9 08:10
本帖最后由 hs248613 于 2022-5-9 08:11 编辑

Dim K as long, L as long, M as long, N as long
as integer 也行吧

全民一起VBA(基础篇+提高篇+实战篇)
https://www.52pojie.cn/thread-1615091-1-1.html
(出处: 吾爱破解论坛)
头像被屏蔽
daisypojie 发表于 2022-5-9 08:40
aidandan 发表于 2022-5-9 09:33
问题出在这个公式里的双引号=IF(AND(A4>=1,A4<22),"",A4),其实你把这个公式直接放单元格里, 显示的是0,所以你直接用0去替换就好了,可以改成这样试试
For i = 4 To 98
        Cells(i, 2).Formula = "=IF(AND(A" & i & ">=1,A" & i & "<22),0,A" & i & ")"
Next
 楼主| alongzhenggang 发表于 2022-5-12 23:59
本帖最后由 alongzhenggang 于 2022-5-13 00:00 编辑
hs248613 发表于 2022-5-9 08:10
Dim K as long, L as long, M as long, N as long
as integer 也行吧

不行  


这些都不重要

重要的是怎么把 把公式 =IF(AND(A4>=1,A4<22),"",A4)    写入   Range("B4:B98")
 楼主| alongzhenggang 发表于 2022-5-13 00:01
约定的童话 发表于 2022-5-9 07:23
一般都用数组循环计算

额  需求不同
 楼主| alongzhenggang 发表于 2022-5-13 00:20
约定的童话 发表于 2022-5-9 07:23
一般都用数组循环计算

数组循环用在哪呢
 楼主| alongzhenggang 发表于 2022-5-13 00:24
aidandan 发表于 2022-5-9 09:33
问题出在这个公式里的双引号=IF(AND(A4>=1,A4

诶 陷入盲区了  咋没想到呢  这样确实可以    我想的是空  没想到零值

变量   是数字   K  L  M  N   --------  1   4   22     

但是这些变量并不会变为数字    而且 input循环的话
For Each sht In Worksheets    弹窗弹死了
 楼主| alongzhenggang 发表于 2022-5-13 00:30
aidandan 发表于 2022-5-9 09:33
问题出在这个公式里的双引号=IF(AND(A4>=1,A4

For i = 1 To countSht
For Each sht In Worksheets

这两种怎么用   能把input只需输入一个表   4个input

不然 好多弹窗
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 14:21

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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