我试图从一些SQL代码中提取一些细节以便制作一个列表 - 具体来说:我正试图从case语句中提取名义代码,以制作一个人类可读的名义代码列表......我我想知道VBA是否有办法提取字符串部分并输出一个列表?
这是代码,例如,我们会说在单元格a1 ...
when ProfitAndLoss.acno in ('P01200','P01201','P01205','P01206','P01210','P01211','P01220','P01221','P01225','P01226','P01230','P01231','P01235')then 'DirSals'
我需要的是......
P01200
P01201
P01205
etc
答案 0 :(得分:1)
您想使用分割功能。
Option Explicit
Sub makeList()
Dim parts As Variant
Dim nextLine As Long
Dim i As Long
nextLine = 2
parts = Split(Cells(1, 1).Value, "'")
For i = LBound(parts) + 1 To UBound(parts) - 2 Step 2
Cells(nextLine, 1).Value = parts(i)
nextLine = nextLine + 1
Next i
End Sub
将字符串拆分为“'作为分隔符。然后它循环遍历每个部分,跳过第一部分 - 当ProfitAndLoss.acno在(' - 和最后两部分 - ')然后'和' DirSals'。我使用了第二步,因为每个第二个切片都是' - '。 每个部分都输出到一个新行,每次都递增。