Excel VBA 代码功能实现

例如:通过Excel VBA 代码怎么把 L072,L083-L087,L1110-L1113 转化为:
L072,L083,L084,L085,L086,L087,L1110,L1111,L1112,L1113
代码怎么实现??

第1个回答  2014-02-26

我用楼上老师的代码修改一下

Sub LKJLK()
    ss = Split([a1].Value, ",")
    For n = 0 To UBound(ss)
        If InStr(ss(n), "-") Then
            kk = Split(ss(n), "-")
            t = Left(kk(0), 1) '改用变量,你的原数据可以变化字母,直接引用,而不是固定L
            a = Mid(kk(0), 2)
            b = Mid(kk(1), 2)
            For x = a To b '循环只需要从a到b即可
                k = k & t & Format(x, "000") & ","
            Next
        Else
            k = ss(n) & ","
        End If
    Next
    [b1] = Mid(k, 1, Len(k) - 1)
End Sub

 请采用楼上老师,谢谢

第2个回答  2014-02-26
L072,L083-L087,L1110-L1113
这个内容是在一个单元,还是三个?追问

在一个单元内

追答内容在A1单元格,结果返回在B1
Sub LKJLK()
    ss = Split([a1].Value, ",")
    For n = 0 To UBound(ss)
        If InStr(ss(n), "-") Then
            kk = Split(ss(n), "-")
            a = Mid(kk(0), 2)
            b = Mid(kk(1), 2)
            For x = 1 To b - a + 1
                k = k & "L" & Format(a, "000") & ","
                a = a + 1
            Next
        Else
            k = ss(n) & ","
        End If
    Next
    [b1] = Mid(k, 1, Len(k) - 1)
End Sub

追问

非常感谢,可以的,还有就是:我的字符长度不是一定的,可能L00003或者L10000008等等,能不能进一步转化为'L001','L9900'【用逗号和单引号分开】。

追答

字符长度不一定,那字母是不是固定就一个。

本回答被提问者采纳

excel中怎么运行vba代码
1、在使用vba中,调用宏的时候会出现无法运行宏的情况,如下图所示:2、在EXCEL表格的界面下,如下图所示,找到”EXCEL选项“并点击。3、弹出EXCEL选项对话框,如下图所示:4、在EXCEL选项的界面下,点击“信任中心”如下图:5、在信任中心的窗体下,单击”信任中心设置“,如下图所示:6、弹出信任...

WPS excel VBA 常用功能代码(大全)
通过VBA保存工作簿和工作表的代码:使用ThisWorkbook.Save命令实现自动保存。设置单元格列宽的VBA代码:通过指定列名和宽度值,对单元格列进行宽度调整。VBA查看当前打印机代码:利用Application.ActivePrinter消息弹出当前打印机信息。取消所有工作表筛选的VBA代码:遍历所有工作表,将筛选模式设置为False。VBA中单元...

excel个人宏文件vba代码能否实现对新打开的工作簿进行操作
第一步,点击Excel界面左下角的录制宏按钮录制宏。第二步,在【宏名】处输入一个有意义的名称,帮助以后识别该宏的功能。本例按照默认名称命名。选择将宏录制在【个人宏工作簿】并点击【确定】按钮。第三步,马上点击Excel界面左下角的停止录制宏按钮停止宏的录制。第四步,按Alt+F11打开VBE界面,如...

VBA代码实现Excel中数据快速录入
根据这个思路,我们在该工作表的Change事件中输入了如下的代码:Private Sub Workheet_Change(ByVal Target As Range)If Target.Column = 2 Then ’只在第二列实现该功能 If Target.Value = 1 Then Target.Value = 一车间 Else If Target.Value = 2 Then Target.Value = 二车间 Else If Target...

怎么在excel表格中插入VBA代码呢?
1、打开excel 表格;2、按ALT +F11最快捷,或者excel表,标题上,调出"开发工具",在"开发工具"中,点击"Visual Basic";如果“开发工具"看不见,需要标题栏空白处,右键,”自定义功能区“,然后在”开发工具“前,勾选。见下截图。3、双击,左侧sheet1,或者ThisWorkbook,右侧即出现VBA 代码编辑器,...

使用VBA代码来实现excel循环累加的方法
excel循环累加使用VBA事件和代码自动完成累加是比较可行的方法。我们以一个具体的例子来说明使用VBA实现excel循环累加的使用。我们在A列输入具体的数据,然后在B列实现循环累加。比如我们在A1输入12,B1显示12,A1再输入13,B1就循环累加,值为:12+13=25。再次在A1输入10,B1这次的循环累加值为:10+25...

Excel VBA 突出显示高亮行列
1. 当工作表选择区域发生变化时,自动更新`currCell`为当前选中的第一个单元格,并调用`HighLight`过程进行高亮显示。2. 当工作表变为非激活状态时,清除上次的高亮格式,以适应工作表切换场景。3. 在工作表关闭前事件中,清除高亮格式并保存工作表,确保数据完整性。通过上述VBA代码实现,用户在Excel...

Excel怎么自动生成VBA代码
1、首先打开工作表,点击【开发工具】下的【Visual Basic 】选项。2、打开VBA工程窗口后,在左侧的“ThisWorkbook”上面单击右键,选择“插入”,“模块”。3、在“模块1”的代码窗口里面输入以下VBA代码。4、按下F5键,或者点击VBA工程窗口上面的“运行”图标运行VBA程序,之后就会自动复制工作表,改变...

excel转换成VBA代码:在入库或者出库一栏输入数据自动计算库存,请问如何...
这段VBA代码的目的是在Excel工作表中实现一个功能:当用户在特定的列(第5列到第6列之间)输入数据时,自动计算并更新库存列(第7列)的值。然而,这段代码存在一些问题,包括语法错误和逻辑可能不完整。以下是修改后的代码段,修正了错误,并提高了内容质量:```vba Private Sub Worksheet_Change(By...

EXCEL宏功能代码如何写excel宏功能使用
1. 打开Excel,按下“Alt+F11”进入VBA编辑器界面。2. 在左侧的项目窗口中,选择需要添加宏功能的工作簿,右键选择“插入”-“模块”。3. 在新建的模块中输入VBA代码,可以使用VBA语言的各种语句和函数,实现各种功能。例如,以下代码实现在选定单元格中输入文本“Hello World!”:Sub HelloWorld()Range...

相似回答