首页 > 其他分享 >第一段VBA脚本留念

第一段VBA脚本留念

时间:2023-01-05 15:31:32浏览次数:67  
标签:Index VBA End Dim 单元格 CStr 第一段 留念 300000


需求:某一列单元格内容为逗号分隔的整数序列,形如(11,22);解析并给每一个数字加300000,形如(300011,300022);之后回写单元格即可

Sub Bat_Click()
For Each w In Worksheets(1).UsedRange.Columns(6) '遍历第一张表格的第六列填过的数据
Dim Index As Integer '声明一个临时索引,后边获得当前是第几行的时候会用到
Index = 1
For Each v In w.Value '遍历该列的每一个值
If v <> "result" Then '略过第一行标题头
Dim a As Variant
Dim b As Variant
Dim c As String
a = Split(v, ",") '单元格内容逗号拆分
b = UBound(a) 'UBound获得最大索引(以0为起始)
If b > 0 Then
c = ""
For i = 0 To b
If c <> "" Then
c = c + ","
End If
c = c + CStr(300000 + CInt(a(i))) '原字符串内容拆分的内容数字加3000000(强制转换),之后拼接为新的内容,举例:11,22 ===> 300011,300022
Next
Range("F" + CStr(Index)) = c '单元格内容赋值API——Range(超好用 ^^)
Else
Range("F" + CStr(Index)) = (CStr(300000 + CInt(a(0))))
End If
End If
Index = Index + 1
Next
Next
End Sub

参考:
​​​ http://club.excelhome.net/forum.php?mod=viewthread&tid=1499041​​​
http://www.360doc.com/content/17/0902/11/30583536_684110308.shtml
https://jingyan.baidu.com/article/7c6fb428c6f49e80642c9096.html
https://www.yiibai.com/vba

标签:Index,VBA,End,Dim,单元格,CStr,第一段,留念,300000
From: https://blog.51cto.com/kenkao/5991285

相关文章

  • vba-instr
    InStr([start,]string1,string2[,compare])Vb参数说明Start-一个可选参数。指定搜索的起始位置。搜索从第一个位置开始,从左到右。String1-必需的参数。要搜索......
  • vba-find
    (6条消息)VBA中find函数_狗老大的博客-CSDN博客_vbafind函数  Subtest1()'DimrAsRangeDimsAsStrings="Hello"DimaAsRange......
  • Excel VBA
    ExcelVBA显示隐藏菜单编辑栏和页签Subvisible()'Application.DisplayFormulaBar=True'显示编辑栏ActiveWindow.DisplayHeadings=True'隐藏行列标题ActiveW......
  • VBA更新块属性
    修改块的属性后,如何应用到块参照?可以使用battman命令,还可以用attsync命令。使用attsync命令个格式是这样的,和命令行并不一样。ThisDrawing.SendCommand"AttsyncName"&......
  • AutoCAD VBA 获取字体样式列表
    cad中的可用字体样式  获取windows标准字体DimwinFontsdirAsStringwinFontsdir=VBA.Environ("windir")&"\Fonts\"IfwinFontsdir<>vbNullS......
  • Python处理Excel比Vba快100倍,媳妇连连夸赞今晚不用再跪搓衣板----python实战
    最近经历了一次把vb脚本改造成python脚本,并获得性能提升数倍的过程,当然,这个过程也不是一帆风顺,中间也经历了一些波折,但是,也收获了一波新的认知。正好最近有时间,姑且写下来记......
  • VBA 47 程序优化与提速的方法
    一、减少对象的调用二、减少计算次数三、禁止闪屏四、增加变量的声明类型五、减少工作表函数的使用六、减少VBA函数的使用七、用静态数组替换动态八、填充前先清空......
  • VBA 43 日期与时间计算
    计算时间差'计算时间差Subtest2()Dimt,x,st=TimerDebug.PrinttForx=1To900000s=s+xNextxDebug.PrintTimer-tEndSub DateDif......
  • VBA 42 数据类型与转换
    注意:使用VBA.TypeName()判断单元格内容的数据类型时,单元格一定要使用value属性。(切记切记,否则返回的类型是Range)判断是否为空VBA.IsEmpty()VBA.TypeName() 判断是......
  • word vba 操作表格, 设置表格的样式
    一、新建和删除表格样式Sub表格样式()DimoldstyleAsStyle,tablestyleAsStyle'OnErrorResumeNext'删除表格样式'ActiveDocument.Styles("mytablestyl......