2016-10-21 5 views
0

1つの完全な辞書エントリが1つのセルを占める辞書がExcelにあります。私は、ここでは、2個のセル、第ビーイング言語1、第ビーイング言語2.アルファベット/括弧/数字でセルを分割する方法

にこのセルを分割したい辞書の例である:


A 1.男性または正の原理、ヤン2凸面は、恐怖5呼応粒子6満州スクリプト内歯

AAカジュアル応答の間投詞

AI BUKDANの外側エッジの応答4.間投詞の3間投詞を調達しました折りたたまれた紙片

A JIJUN I ACANGGA街への入場を得るために使用提起文字でブロンズ識別トークン夜間

A JILGAN陽トーンの音楽で

A FA SERE ONGGOLOがafanggala

Aを参照してくださいSIニワトリ又は鳥類

A TA(onomが。)騒ぎ


の音を駆動するために使用される音

私が望む出力:


A     | 1. the male or positive principle, yang 2. convex, 
A A    | an interjection of casual response 
A I BUKDAN  | the outside edge of a piece of folded paper 
A JIJUN I ACANGGA | a bronze identification token with raised characters 
A JILGAN   | a yang tone in music 
A FA SERE ONGGOLO | see afanggala 
A SI    | a sound used for driving chickens or birds 
A TA    | (onom.) the sound of a commotion 

私は、これらの細胞を分割して、いくつかの条件が必要になります。 (最初のエントリのように)各エントリの最初の出現番号の前、最初の小文字の前、またはエントリ内の最後の大文字の後に分割する前に( "

大文字は、同様に「言語2」欄に存在しているので、おそらく動作しません。

が、このことは可能ですか?すべてのヘルプは大歓迎です。

+0

私はおそらく、この目的のためにExcelを使用することはありません。代わりに、データを分割してからExcelにインポートします。 –

+0

@TimBiegeleisen前に分割することを提案しますか?問題は、私は20,000以上のエントリがあり、手でそれを行う時間がないということです。 – user3186749

+0

まずは、あなたが望む出力を提示する必要があります。 –

答えて

0
Sub SeparateUpperCase() 
    Dim total As Integer 
    Dim i As Integer 
    Dim count As Integer 

    total = ActiveSheet.UsedRange.Rows.count 
    For i = 1 To total 
'assume the input is in the 1st column and put output in 2nd and 3rd columns 
     count = GetUpperCaseNum(ActiveSheet.Cells(i, 1)) 
     ActiveSheet.Cells(i, 2) = Trim(Left(ActiveSheet.Cells(i, 1), count)) 
     ActiveSheet.Cells(i, 3) = Trim(Right(ActiveSheet.Cells(i, 1), Len(ActiveSheet.Cells(i, 1)) - count)) 
    Next 
End Sub 

Function GetUpperCaseNum(str As String) As Integer 
    Dim i As Integer 
    Dim A As Integer, Z As Integer, Space As Integer 
    Dim tmp As Integer 

    A = Asc("A") 
    Z = Asc("Z") 
    Space = Asc(" ") 

    result = 0 
    For i = 1 To Len(str) 
     tmp = Asc(Mid(str, i, 1)) 
     If Not (tmp >= A And tmp <= Z Or tmp = Space) Then 'just count UpperCase and Space 
      result = i - 1 
      Exit For 
     End If 
    Next 

    GetUpperCaseNum = result 
End Function 
関連する問題