2017-06-11 8 views
-2

次のように構成された10k +行のExcelファイルがあります。(列A):「都市名」: "貢献から..."の後に の行が無関...続き、 "END OF CASE" ...と繰り返します。
「都市名」で始まる行と「都市名」に続く「寄与」行を抽出し、各行のグループを別々のシートに貼り付ける必要があります。手伝ってくれますか?永遠にありがとう。VBAのコンテンツに基づいてExcelの行の範囲を選択する方法

+0

はStackOverflowのへようこそ。これは無料のコード作成サービスではありませんのでご注意ください。しかし、私たちは、仲間のプログラマー(および志望者)が自分のコードを書くのを助けることを熱望しています。 [良い質問をするにはどうすればよいですか](http://stackoverflow.com/help/how-to-ask)のヘルプトピックをお読みください。また、ツアー中に(http://stackoverflow.com/tour)、バッジを獲得することもできます。その後、達成したいタスクを完了するために、これまでに書いたVBAコードで質問を更新してください。私たちはあなたを待っています。あなたの*コードを完成させるのに役立ちます。 – YowE3K

答えて

0

私はあなたの問題を理解しています。

Sub transData() 
    Dim vDB, vR() 
    Dim i As Long, n As Long 
    vDB = ActiveSheet.UsedRange 
    For i = 1 To UBound(vDB, 1) 
     If Left(vDB(i, 1), 4) = "Name" Then 
      n = n + 1 
      ReDim Preserve vR(1 To n) 
     End If 
      vR(n) = vR(n) & " " & vDB(i, 1) 
    Next i 
    Sheets.Add 
    Range("a1").Resize(n) = WorksheetFunction.Transpose(vR) 
End Sub 

あるいは、

Sub transData() 
    Dim vDB, vR() 
    Dim i As Long, n As Long 
    vDB = ActiveSheet.UsedRange 
    For i = 1 To UBound(vDB, 1) 
     If Left(vDB(i, 1), 4) = "Name" Then 
      n = n + 1 
      ReDim Preserve vR(1 To n) 
     End If 
      If Left(vDB(i, 1), 4) = "Name" Or Left(vDB(i, 1), 12) = "contribution" Then 
       vR(n) = vR(n) & " " & vDB(i, 1) 
      End If 
    Next i 
    Sheets.Add 
    Range("a1").Resize(n) = WorksheetFunction.Transpose(vR) 
End Sub 
関連する問題