Excel精英培训网

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

[已解决]请教老师任意三位数的公式写法!谢谢老师!

[复制链接]
发表于 2017-2-23 11:12 | 显示全部楼层 |阅读模式
本帖最后由 jjm700 于 2017-2-23 18:25 编辑

工作簿1.zip (13.82 KB, 下载次数: 8)
发表于 2017-2-23 16:34 | 显示全部楼层    本楼为最佳答案   
位数扩大,代码不变。
  1. Sub tt()
  2.     [g3:bb12] = ""
  3.     arr = [a1:bb12]
  4.     For i = 3 To UBound(arr)
  5.         x = arr(i, 1) & arr(i, 2) & arr(i, 3) & arr(i, 4) & arr(i, 5)
  6.         For j = 7 To UBound(arr, 2)
  7.             xx = x: y = arr(2, j)
  8.             s = 0
  9.             For k = 1 To Len(y)
  10.                 p = InStr(xx, Mid(y, k, 1))
  11.                 If p > 0 Then Mid(xx, p, 1) = "a": s = s + 1
  12.             Next
  13.             If s = Len(y) Then arr(i, j) = y
  14.         Next
  15.     Next
  16.     [a1:bb12] = arr
  17. End Sub
复制代码

工作簿1.rar

22.5 KB, 下载次数: 4

评分

参与人数 1 +1 收起 理由
jjm700 + 1 我和小伙伴都惊呆了

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2017-2-23 16:50 | 显示全部楼层
grf1973 发表于 2017-2-23 16:34
位数扩大,代码不变。

老师,我的原表里面已经含有一个代码,而且有一个按钮
Option Explicit
Private Sub CommandButton1_Click()
Range("a3:ac65536") = Empty
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Dim s() As String
With CreateObject("Msxml2.XMLHTTP")
.Open "GET", "http://www.17500.cn/getData/dlt.TXT", False
.Send
s = Split(.responseText, Chr(10))
End With
[a3].Resize(UBound(s) + 1) = WorksheetFunction.Transpose(s)
[a:a].TextToColumns [a1], 1, 1, 1, 1, , , 1
[a2].Resize(1, 9) = Array("开奖期号", "开奖日期", "一", "二", "三", "四", "五", "后", "区")
Range("j3:aj65536") = Empty
Application.ScreenUpdating = True
Range("A2").Select
End Sub
Private Sub CommandButton2_Click()
Range("a3:ac65536").ClearContents
Range("A2").Select
End Sub



请问:老师的这个代码应该插入到哪里的?谢谢老师!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 19:19 , Processed in 0.494320 second(s), 15 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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