排名不重复,即使是相同值,先出现的排名在前。输入的公式是:=RANK(A1,$A 1 : 1: 1:A$17)+COUNTIF(A 1 : A 1 , A 1 ) − 1 , 第 1 次 选 择 一 个 单 元 格 A 1 , 第 1 次 选 择 区 间 1:A1,A1)-1 , 第1次选择一个单元格A1, 第1次选择区间 1:A1,A1)−1,第1次选择一个单元格A1,第1次选择区间A 1 : 1: 1:A$17,第3次选择保存的一个单元格位置。

Sub 排名不重复()MsgBox "排名不重复,即使是相同值,先出现的排名在前。输入的公式是:=RANK(A1,$A$1:$A$17)+COUNTIF(A$1:A1,A1)-1 , 第1次选择一个单元格A1, 第1次选择区间$A$1:$A$17,第3次选择保存的一个单元格位置。"Set rng1 = Application.InputBox(prompt:="鼠标选择排名中的一个单元格,如A1。", Type:=8)a_rc = rng1.Address ' $A$1,双重锁定 lock row and column'a_k = rng1.Address(1, 1) '$A$1a = rng1.Address(0, 0) 'A1, unlock row and columna_r = rng1.Address(1, 0) 'A$1, rng1.Address(行, 列),锁定行就是锁定A1中的1.a_c = rng1.Address(0, 1) '$A1
'    Debug.Print a_rc
'    Debug.Print a_k
'    Debug.Print a
'    Debug.Print a_r
'    Debug.Print a_c'Debug.Print a
'    Debug.Print Split([b3].Address, "$")(1)
'    Debug.Print Split([bc3].Address, "$")(1)'Debug.Print Split(a, "$")(1) '列标字母'Debug.Print Split(a, "$")(2) '行号'Debug.Print ActiveCell.Row'Debug.Print rng1.Row '行号Set rng2 = Application.InputBox(prompt:="鼠标选择排名中的一列数个单元格,如$A$1:$A$17。", Type:=8)
'    '有些是文本格式,但是也可以计算正确的剩余时间。此处只是作提醒。b_rc = rng2.Address ' $A$1,双重锁定 lock row and columnb = rng2.Address(0, 0) 'A1, unlock row and columnb_r = rng2.Address(1, 0) 'A$1, rng1.Address(行, 列),锁定行就是锁定A1中的1.b_c = rng2.Address(0, 1) '$A1Set rng3 = Application.InputBox(prompt:="鼠标选择保存结果的一个单元格,如B1。", Type:=8)'rng3.Formula = "RANK(" & a & "," & b_rc & ")" & "+COUNTIF(" & a_r & ":" & a & "," & a & ")-1" '少了等号,运行后可以查看公式rng3.Formula = "=RANK(" & a & "," & b_rc & ")" & "+COUNTIF(" & a_r & ":" & a & "," & a & ")-1"'=RANK(M4,$M$4:$M$20)+COUNTIF(M$4:M4,M4)-1'cell = "$" & Split(a, "$")(1)'Debug.Print cell'Call lock_rc(a)
'    Debug.Print lock_rc(a, 2)End Sub

上述代码的参考说明:

'Address(0, 0) 相对引用
'Address绝对引用
'Address(1, 0) 混合引用 (相对列绝对行)
'Address(0,1) 混合引用 (相对行绝对列)'Public Function lock_rc(cell, inte)
'    Select Case inte
'        Case 1
'            lock_rc = "$" & Split(cell, "$")(1)
'            'Debug.Print cell
'        Case 2
'            lock_rc = "2" & Split(cell, "$")(1)
'        Case 3
'            lock_rc = "3" & Split(cell, "$")(1)
'     End Select
'End Function'Public Function lock_rc(cell)
'    lock_rc = "$" & Split(cell, "$")(1)
'    'Debug.Print cell
'
'End Function'Function 函数名(参数列表 ... )
'    函数体
'    函数名 = 返回值
'End Function'
'Function lockRC(cell As String, str2 As String) 'lock row or column, inte is short for integer
'    'cell = "$" & Split(cell, "$")(1) & Split(a, "$")(2)
'    cell = "123"
''    Select Case str2
''    Case r
''    cell = "$" & Split(cell, "$")(1) & Split(a, "$")(2)
''
''    End Select
'
'End Function'列标 = VBA.Split(Cells(1, 9).Address, "$")(1)  中的红色部分表示什么意思 ?相当于什么 ?还有类似情况吗 ?
'Split()函数是将Cells(1,9).Address,也就是单元格地址:$I$1,依据"$"作为分隔符,分割成一个一维数组,也就是会得到{"","I","1"},
'而这个数组里有三个元素,分别是(0)、(1)和(2),(1)就是取数组里的第二个元素……
'
'如果一维数组里有四个元素,那就可以用(0)、(1)、(2)、(3)来代表其中的各个元素……'以"$"为分隔符
'0→“$"前的值(空)
'1→第1个”$"后的数(第2个"$"之前)
'2→第2个"$"后的数(第3个"$"之前)
'‘.......
'如:
'列标 = VBA.Split(Cells(1, 256).Address, "$")(1) '→答案是“iv"
'列号 = VBA.Split(Cells(5, 256).Address, "$")(2) '→答案是“5"'
'2 VBA过程,函数的返回,对比python等
'python的函数一定会返回,函数带return 不带默认会返回 return none
'VBA的function也是一定有返回值把,至少是none
'VBA的sub 没有返回值
'
'
'返回的方式不同
'python 的function 可以使用 return返回
'VBA的function 直接让 function_name = xxxx 这样返回
'并且VBA的sub不能返回值,sub_name=xxxx 会报错

VBA写入公式(6):排名不重复相关推荐

  1. [vba] 写入公式, xlookup, 及evaluate直接获取公式结果的探索

    结论: 1. 通过range.formula = "= 公式" 的方式来写入公式, 其中需要注意公式中的部分因为处于双引号中, 原本的双引号需要加倍; 2. Evaluate可以很 ...

  2. VBA写入公式(2):日期公式集

    Sub 日期公式集()'先选择数字所在的一个单元格,在选择大写金额保存的一个单元格.'&两边无空格是公式上的连接符,&两边有空格是vba上的连接符.'带有双引号的外面必须由两重双引号, ...

  3. VBA写入公式(3):身份证公式集

    提取身份证信息: 1.出生日期: 2.性别: 3.年龄(周岁): 4.生肖: 5.星座: 6.省份简称: 7.省份全称: 8.退休日期(男60退休,女50退休): 9.用星号隐藏: 31.退休日期(男 ...

  4. Python在Excel单元格中写入公式

    场景:需要按照固定格式提取数据库中数据到excel中,因统计的内容过多,为减少数据库统计动作,对于需要二次加工的数据在Excel单元格中使用公式完成计算: 分析:从数据库提取数据,使用常规方法写入公式 ...

  5. 自己做量化交易软件(41)自编仿通达信公式及自编因子公式的计算速度比较及因子公式结果排名

    自己做量化交易软件(41)自编仿通达信公式及自编因子公式的计算速度比较及因子公式结果排名 自编仿通达信指标公式是对单只股票计算,如果对一批股票计算,只能用循环来逐个处理. 自编因子指标公式是对一批股票 ...

  6. Excel-给文本框赋值/写入公式

    目的:在Excel图表中插入文本框,在文本框内写入公式,使文本框中的数值可以变动. 如下图中,Excel图表的中的文本框,其数值从2000到2009,可变. 步骤一: 在生成的图表中,插入文本框,然后 ...

  7. python在excel中写入公式_Python Excel操作模块XlsxWriter之写入公式write_formula()

    worksheet.write_formula() write_formula(row, col, formula[, cell_formula[, value]]) 向工作表单元格写入公式. 参数: ...

  8. python打开已有的excel写入数据不改变原有单元格格式,写入公式

    1.python处理Excel,读取原有表格格式,写入数据,并写入公式 前置条件:excel 支持.xls.待写入表格.数据 2. import xlwt import xlrd from xluti ...

  9. poi导出excel写入公式_【java poi 写入Excel后读取公式值问题】poi导入excel

    java poi 写入Excel后读取公式值问题 不用改公式,只需要用cell.getNumericCellValue()获取,读出来就是正确的值了,如果你读出来的还有问题,说明你其他的地方写的还有问 ...

最新文章

  1. POJ3160强连通+spfa最长路(不错)
  2. webuploader在bootstrap模态对话框中选择文件按钮无效的问题
  3. 第二篇:Spring Boot 热部署
  4. centos-修改分辨率
  5. php pcntl signal,php – 后续的pcntl_signal信号没有启动处理程序
  6. mac上的Android虚拟机,android虚拟机能在retina MacBook pro上跑吗?
  7. 课程设计:大学生信息管理系统
  8. 5.2.3 std::atomic的相关操作
  9. 数据分析过程注意事项
  10. 转 Spring是如何管理Hibernate和Struts的(二)
  11. 苹果账号的分类以及注册免费苹果账号
  12. 阿里巴巴校招内推一面总结
  13. 如何操作 Office Open XML 格式文档
  14. iPad当Linux电脑显示器,效率App:让iPad变成你电脑的第二显示屏,相当实用!
  15. dingdang robot:一个开源的中文智能音箱项目
  16. 面部清洁湿巾行业现状调研及趋势分析报告
  17. html如何制作一个漂亮的表格?+ 列表制作 + 表单制作(干货!直接收代码)
  18. window.close
  19. 谷歌seo独立站搜索引擎优化指南【2023新版】
  20. fs.aio max nr mysql_MySQL主机该如何配置fs.aio-max-nr

热门文章

  1. 全国计算机等级考试命题研究组,全国计算机等级考试命题研究组组
  2. Linux进程信号【信号产生】
  3. RTX3070、3070Ti相当于什么水平?
  4. 组策略最佳实践之“降龙十八掌
  5. 小甲鱼python课后题答案_小甲鱼Python课后习题-仅学习 - 随笔分类 - 小红帽爱吃大灰狼 - 博客园...
  6. 对新手超友好的板绘工具推荐:数位板 or 数位屏 or Ipad
  7. Java妙手判空之Optional
  8. i18n调用自己参数_I18N的前后端实现
  9. pytorch 实现人脸检测与识别
  10. 制作自己的数据库接口