当前位置: 首页 > wzjs >正文

石碣镇网站仿做江津区做网站

石碣镇网站仿做,江津区做网站,网站推广的基本方法对于大部分网站来说都是适用的,郑州做网站优化外包兜兜转转,还是回到了原点,好久不写博客了。 周末调试了三四个小时,终于差不多了,不过还有一小部分问题,后面有时间再弄吧 使用方法 使用Excel 2007以上的版本,打开想要处理的XLSX表格,按Alt …

兜兜转转,还是回到了原点,好久不写博客了。
周末调试了三四个小时,终于差不多了,不过还有一小部分问题,后面有时间再弄吧

使用方法

使用Excel 2007以上的版本,打开想要处理的XLSX表格,按Alt + F11按键打开宏编译器,粘贴想要的代码块,之后按下F5键运行即可。如果按下Alt + F11没有代码界面,可以在菜单栏打开代码窗口即可
在这里插入图片描述

初始Excel测试数据格式可参照如下:

在这里插入图片描述

代码如下:

功能1:将一组12列数据,取前10列为有效数据,第11列计算为中位数,第12列计算为标准差,并给出基本的提示信息了。

Sub UpdateColumns()On Error GoTo ErrorHandlerApplication.ScreenUpdating = FalseApplication.Calculation = xlCalculationManualDim lastRow As Long, lastCol As IntegerDim i As Long, j As Integer, groupCols As IntegerDim rng As RangeDim processedGroups As Integer  ' 新增处理组计数器groupCols = 12processedGroups = 0lastRow = Cells(Rows.Count, 1).End(xlUp).RowlastCol = Cells(1, Columns.Count).End(xlToLeft).ColumnFor j = 2 To lastCol Step groupColsprocessedGroups = processedGroups + 1  ' 计数每组处理' 动态列边界检查(防止溢出)If j + 11 > Columns.Count Then Exit For' 设置列标题With Cells(1, j + 10).Value = "中位数".HorizontalAlignment = xlCenterEnd WithWith Cells(1, j + 11).Value = "标准差".HorizontalAlignment = xlCenterEnd WithFor i = 2 To lastRow' 动态计算可用列数Dim validCols As IntegervalidCols = Application.Min(9, lastCol - j)Set rng = Range(Cells(i, j), Cells(i, j + validCols))' 计算中位数With Cells(i, j + 10)If .Value = "" Then.Value = Application.Median(rng)End IfEnd With' 计算标准差With Cells(i, j + 11)If .Value = "" ThenIf Application.Count(rng) > 1 Then.Value = Application.StDev_S(rng).NumberFormat = "0.00"Else.Value = "N/A"End IfEnd IfEnd WithNext iNext jColumns.AutoFit' 成功提示(新增部分)MsgBox "数据更新完成!" & vbCrLf & _"成功处理 " & processedGroups & " 个数据组" & vbCrLf & _"最后行号:" & lastRow & "  总列数:" & lastCol, _vbInformation + vbOKOnly, _"操作报告"Application.ScreenUpdating = TrueApplication.Calculation = xlCalculationAutomaticExit SubErrorHandler:MsgBox "操作在以下位置中断:" & vbCrLf & _"数据组:" & processedGroups + 1 & "  当前行:" & i & vbCrLf & _"错误描述:" & Err.Description, _vbCritical, _"错误报告"Application.ScreenUpdating = TrueApplication.Calculation = xlCalculationAutomatic
End Sub

功能2:按列筛选出想要展示的Excel数据。
用法:修改这一行代码的赋值为想要展示的列名即可:
Const HEADERS_TO_KEEP As String = “Item,Value1,Value3”

Option Explicit'============= 主过程 =============
Sub FilterColumnsWithMedianAndStdDev()' 配置区域(用户只需修改此处)------------------Const TARGET_SHEET As String = "Sheet1"           ' 目标工作表名Const HEADERS_TO_KEEP As String = "Item,Value1,Value3"   ' 要保留的列标题(逗号分隔)' ----------------------------------------------Dim ws As WorksheetDim headerNames() As StringDim colDict As ObjectDim cell As RangeDim currentCol As Long, lastCol As LongDim colName As Variant, normalizedName As StringDim groupStartCol As Long, groupEndCol As LongDim groupIndex As LongOn Error GoTo ErrorHandlerSet colDict = CreateObject("Scripting.Dictionary")' 1. 获取目标工作表Set ws = ThisWorkbook.Sheets(TARGET_SHEET)' 2. 解析用户输入的列名并转为数组headerNames = Split(HEADERS_TO_KEEP, ",")If UBound(headerNames) < 0 ThenMsgBox "未指定要保留的列名!", vbExclamationExit SubEnd If' 3. 遍历标题行,构建列名字典(Key=标准化列名,Value=列号)lastCol = ws.Cells(1, ws.Columns.Count).End(xlToLeft).ColumnFor Each cell In ws.Range(ws.Cells(1, 1), ws.Cells(1, lastCol))normalizedName = Trim(UCase(cell.value))If Not colDict.Exists(normalizedName) ThencolDict.Add normalizedName, cell.ColumnEnd IfNext cell' 4. 校验用户输入的列名是否存在For Each colName In headerNamesnormalizedName = Trim(UCase(colName))If Not colDict.Exists(normalizedName) ThenMsgBox "错误:列名 [" & colName & "] 不存在!", vbCriticalExit SubEnd IfNext colName' 5. 初始化组索引和开始列groupIndex = 0groupStartCol = 1' 6. 主逻辑:遍历所有列,处理每组前10列及其对应中位数、标准差列For currentCol = 1 To lastColnormalizedName = Trim(UCase(ws.Cells(1, currentCol).value))' 检查是否为中位数或标准差列(每组最后两列)If InStr(normalizedName, "中位数") > 0 Or InStr(normalizedName, "标准差") > 0 ThengroupEndCol = currentCol - 1  ' 当前组的结束列是当前列的前一列' 检查组内是否有需要保留的列If AnyColumnToKeepInGroup(ws, groupStartCol, groupEndCol, headerNames) Then' 保留当前组的第11、12列(即当前列和下一列)ws.Columns(currentCol).Hidden = Falsews.Columns(currentCol + 1).Hidden = FalseElse' 隐藏当前组的第11、12列ws.Columns(currentCol).Hidden = Truews.Columns(currentCol + 1).Hidden = TrueEnd If' 更新组索引和起始列groupIndex = groupIndex + 1currentCol = currentCol + 1  ' 跳过已经处理的标准差列groupStartCol = currentCol + 1  ' 下一组开始列Else' 处理普通列:隐藏非指定列If Not IsInArray(normalizedName, headerNames) Thenws.Columns(currentCol).Hidden = TrueEnd IfEnd IfNext currentColMsgBox "操作完成!已根据条件隐藏非指定列。", vbInformationExit SubErrorHandler:MsgBox "运行时错误 " & Err.Number & ":" & Err.Description & vbCrLf & _"可能原因:" & vbCrLf & _"- 工作表 '" & TARGET_SHEET & "' 不存在" & vbCrLf & _"- 工作表为空或标题行格式异常", vbCritical
End Sub'============= 辅助函数 =============
' 检查数组中是否包含某个值(标准化比较)
Function IsInArray(val As String, arr As Variant) As BooleanDim element As VariantFor Each element In arrIf Trim(UCase(element)) = val ThenIsInArray = TrueExit FunctionEnd IfNextIsInArray = False
End Function' 检查组内是否有要保留的列(核心逻辑)
Function AnyColumnToKeepInGroup( _ByVal ws As Worksheet, _ByVal startCol As Long, _ByVal endCol As Long, _ByRef headerNames() As String _
) As BooleanDim i As LongDim normalizedName As String' 遍历组内每列标题For i = startCol To endColnormalizedName = Trim(UCase(ws.Cells(1, i).value))If IsInArray(normalizedName, headerNames) ThenAnyColumnToKeepInGroup = TrueExit FunctionEnd IfNext iAnyColumnToKeepInGroup = False
End Function

功能3:将Excel中隐藏的所有列展开

' 扩展功能:一键显示所有隐藏列
Sub UnhideAllColumns()On Error Resume NextThisWorkbook.Sheets("Sheet1").Columns.Hidden = FalseMsgBox "已显示所有隐藏列!", vbInformation
End Sub

结尾:

1.功能2展示指定组的中位数和标准差时,第一组的中位数和标准差还会展示出来,暂时没有修好这个问题,只能先手动处理了
2.牛会哞,马会啸,牛马只会OK收到。。。。加油吧!


文章转载自:

http://mBVAhlTp.pzjrm.cn
http://2wA9h1wW.pzjrm.cn
http://PEcblt6i.pzjrm.cn
http://2L31DJlu.pzjrm.cn
http://2YMUK6JJ.pzjrm.cn
http://eUKngUZF.pzjrm.cn
http://DmUE7Rt6.pzjrm.cn
http://Eb5AFM6h.pzjrm.cn
http://PNkIPzuN.pzjrm.cn
http://shiIkLp0.pzjrm.cn
http://KqW7W0aP.pzjrm.cn
http://LVuM6buD.pzjrm.cn
http://CEmoa6J2.pzjrm.cn
http://j2pEg9ks.pzjrm.cn
http://5GzghjvP.pzjrm.cn
http://f521NsyC.pzjrm.cn
http://xn6p8t8A.pzjrm.cn
http://BpGcFojM.pzjrm.cn
http://X6zW5mvw.pzjrm.cn
http://KpG1bCDJ.pzjrm.cn
http://sOP7GWHY.pzjrm.cn
http://ndeLh0LV.pzjrm.cn
http://tPFk4Lby.pzjrm.cn
http://WPiOz761.pzjrm.cn
http://P1dprwNc.pzjrm.cn
http://c9z9A0xv.pzjrm.cn
http://io2qXikk.pzjrm.cn
http://GD6EFJTZ.pzjrm.cn
http://59RNLHn4.pzjrm.cn
http://Ni3CFpiY.pzjrm.cn
http://www.dtcms.com/wzjs/692823.html

相关文章:

  • 自己做网站可以吗我要啦免费统计怎么做网站
  • 常见的网站开发工具分销系统开发多少费用
  • 怎么做网站管理swoole做网站
  • 自己建站流程微信生活门户网站源码
  • 网站升级维护需要多久黄页网络的推广
  • 怎么建设分销模式手机网站杭州网站制作流程
  • 全国建设信息网站上海公司名字大全
  • 设计网站一般要多少钱个人网站建设基本教程
  • 辽宁建设厅勘察设计网站网站域名解析设置
  • 网站建设怎么改栏目名称怎么做非法彩票网站
  • 高端网站建设机构装修公司十大排行榜
  • 网站问答平台推广方案wordpress 插件 ftp
  • 贷款网站怎么做打开网站iis7
  • c 鲜花店网站建设建设公司网站 优帮云
  • 空间网站网站搭建服务器
  • 太原网站开发wordpress theme my login
  • 网站备案vpn注销大学生创意app点子
  • 厦门专业网站推广建站一级造价师准考证打印时间
  • 网上哪些网站可以做兼职广东省住房建设厅网站
  • 电商网站开发思路南京城市规划建设展览馆网站
  • 政协信息化网站建设的请示wordpress比较火的主题
  • wordpress 文章类型模板关键词优化是什么工作
  • 网站建设及发展沈阳专业seo排名优化公司
  • 网站模块源码贴吧网站开发需求分析
  • 网站正在建设中a _手机版汾阳网站建设
  • 网站怎么做动态切图两学一做网站源码
  • wordpress 哪些网站搜索引擎排名国内
  • 网站赚钱石家庄网站建设报价
  • 中国建设银行甘肃省分行网站建设银行境外汇款申请书网站
  • 广州中企动力网站制作给几个手机网站