2016-05-17 8 views
-1

私はこのように構成されたデータファイルがたくさんある:コピーセルの値がいくつかの条件まではエクセル2013で

 
    ae:|xxxxx|yyyyy| 
    1|aaaaa|bbbbb| 
    2|ccccc|ddddd| 
... 
total|?????|!!!!!| 
    ae:|zzzzz|wwwww| 
    41|asdas|aswww| 
    42|hfghf|yuytu| 
... 
total|?????|!!!!!| 
... 

あなたはここで、「?????」であることを助ける必要があります"ae:"セルの後にあるデータを配置します。例えば は、上記でなければなりません:

 
    ae:|xxxxx|yyyyy| 
    1|aaaaa|bbbbb| 
    2|ccccc|ddddd| 
... 
total|xxxxx|yyyyy| 
    ae:|zzzzz|wwwww| 
    41|asdas|aswww| 
    42|hfghf|yuytu| 
... 
total|zzzzz|wwwww| 
... 

任意のヘルプはapreciatedされます。 thnx。

+0

コードを表示します。 – findwindow

答えて

0

これを行うための裸の骨のVBAサブルーチンがあります。これはすべてかなり基本的なものであり、あなたのワークブックの正しい方向を指示するのに十分なものでなければなりません。フォローアップの質問をする前に、必要に応じてこれを修正してください。

Sub getTotal() 
    Dim intLastRow as integer 
    Dim intRow as integer 
    Dim strAEval1 as string 'variable to hold your first ae value 
    Dim strAEval2 as string 'variable to hold your second ae value 

    intLastRow = 5000 'change this to your last row in your spreadsheet 

    'Assuming this data is in Sheet1, Columns A, B, and C and starting at Row 1 
    ' loop through each row 
    for intRow = 1 to intLastRow 

     'if you find 'ae' then copy the values 
     If Sheet1.Range("A" & intRow).value = "ae:" Then 
      strAEval1 = Sheet1.Range("B" & intRow).value 
      straeval2 = Sheet1.Range("C" & intRow).value 

     'if you find 'total' then paste the values we copied 
     Elseif Sheet1.Range("A" & intRow).value = "total" Then 
      Sheet1.Range("B" & intRow).value = strAEval1 
      Sheet1.Range("C" & intRow).value = strAEval2 
     End if 
    Next intRow 
End Sub 
関連する問題