2016-02-04 26 views
0

我想從一些SQL代碼中提取一些細節,以便創建一個列表 - 具體來說:我試圖從一個case語句中提取名義代碼,以使人們可讀的名義代碼列表...我是想知道是否有方法讓VBA提取字符串部分並輸出列表?Excel VBA - 提取部分字符串以形成列表?

這裏的,例如,我們會說是在單元格A1的代碼...

when ProfitAndLoss.acno in ('P01200','P01201','P01205','P01206','P01210','P01211','P01220','P01221','P01225','P01226','P','P','P')then 'DirSals' 

我需要的是......

P01200 
P01201 
P01205 
etc 
+0

你是什麼意思的名單? –

+0

將第一個字符串部分輸入到a2中,第二個輸入到a3中等 – dazzathedrummer

+0

看一下'Split'方法 –

回答

1

你想使用Split功能。

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 

這會將字符串分割爲'as'作爲分隔符。然後循環遍歷每個部分,跳過第一部分 - 當(' - 和最後兩部分 - ')'和'DirSals'中的ProfitAndLoss.acno。我使用了第二步,因爲每個第二片都是' - '。 每個部分輸出到一個新的行,每次增加。

+0

就是這樣 - 太神奇了!謝謝! – dazzathedrummer