2016-08-17 11 views
-1

データを正しく正しく整列させる方法を知っている人はいますか?私は現在、複数回カットアンドペーストする必要があります。私は方法があると確信している、ちょうど方法を知らない。 以下の例は、私が助けが必要なものを説明しています。お願いしてありがとう。Excelデータの整列

各セクションを別々にコンパイルして、セクションをまとめます。 節=列A:D,E:H,I:L,M:P

Iは、データが今までマッチング情報の各グループのために整列され示されているように、A、B及びCのはどこないブランクを残し、互いにレベルである

に変更したいですデータまたはテキストが必要です。 誰でもそれを実現する巧妙な方法がありますか?

質問が拡張されました。

私のデータが以下のように表示される場合。いくつかのセクションにデータがない場合でも、それらは整列して一致しますか? enter image description here

これは次のようになります。 シートを右クリックし、[2]

[2]: http://i.stack.imgur.com/UMHiN.png 
+0

何Iわからないことは本当に最高の原因を願いタグ付けする必要があります。 –

+0

また、私の必要なことを知っている人、自分の好きな人のように、心の良さから助けてくれる人を願ってください。 –

+0

各セクションが9行であるようです。それは出発点です。データを貼り付ける範囲として9.4の領域を定義し、列Aの非空白を検索するマクロを作成します。これはコピーしたいデータの最初の行になります。そのセル(A10)をキャプチャし、変数に格納します。その後、別のマクロを実行して、右隣の列の次の空白を探します。領域全体を選択してコピーし、セルに移動してデータを貼り付けることができます。これはVBAのすべてです。ちょうどマクロで少し遊んで、あなたは最終的にそれを手に入れます。 – TBridges

答えて

0

を[ここに画像の説明を入力]> [コードの表示>は以下のコードを貼り付け>ファイル名を指定して実行

Sub test() 
    'If Application.UserName = "." Then Cells.Delete: [a1:p1,a2,a3,a9, e2,e7,e8, i2,i6,i16, m2,m10,m13] = 1 
    Dim c(3) As Range, m&, i&: m = 1 
    While True 
     Set c(3) = UsedRange.Offset(m).Resize(, 1) ' column A 
     For i = 0 To 3 
      Set c(i) = c(3).Offset(, i * 4).Find("*") 
      If c(i) Is Nothing Then Exit Sub 
      If m < c(i).Row Then m = c(i).Row 
     Next 
     For i = 0 To 3 
      If c(i).Row < m Then c(i).Resize(m - c(i).Row, 4).Insert xlDown 
     Next 
    Wend 
End Sub 
+0

非常に多くのスレイ、ありがとう、あなたはちょうど私の時間の負荷を保存してきた! –

+0

Row 4 - Me.UsedRangeに小さなエラー/タイプミスがありました。はm.UsedRangeでなければなりません –

+0

@Alex Arshamian 'Me'はコードがあるシートを指します。 'm.UsedRange'はエラーを引き起こします。また、隣にある緑色のチェックをクリックして回答を受け入れることができるので、他の人があなたの質問に回答したことを知ることができます。 – Slai

関連する問題