次の問題が発生しています。同時に細胞を移入して挿入する
1 3 4 6 7
1 2
2 4 5 9
5
1 2 3 5
私はそれぞれに共通の単一の数値を取り、1列でそれらを整理したい:
1
2
3
4
5
6
7
9
私はスクリプトのために取っているアプローチ私はこのようになりますデータセットを持っています行内に複数の完全なセルが存在することを認識し、現在の範囲の下の隣接するセルを転置するコマンドを実行します。私はこれまで持っていることは次のとおりです。
Sub RecordArrangeTest()
Dim Rng As Range
Dim i As Long
Dim n As Long
Dim Wholecolumn As Range
Dim Lastcolumn As Long
Lastcolumn = Range("A1").CurrentRegion.Columns.Count
i = 1
Dim lastRow As Long
lastRow = Range("A1").End(xlDown).row
While i <= lastRow
Set Rng = Range("A" & i)
Set Wholecolumn = Range(Cells(i, i), Cells(1, Lastcolumn))
If IsEmpty(Rng.Offset(0, 1).Value) = False Then
Range(Rng.Offset(1, 0), Rng.Offset(Lastcolumn, 0)).Insert Shift:=xlDown
Wholecolumn.Copy
Rng.Offset(1, 0).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Wholecolumn.Delete Shift:=xlUp
i = i + 1
Else: i = i + 1
End If
Wend
End Sub
がテスト中に、これは最初のトリガがどこかmistmatchを起こした後、私を増やし、I = 1に適しています。私が行方不明のものはありますか?それとも代わりに別のアプローチをお勧めしますか?
おかげ
ありがとう!最初に "Set Dict"のコンパイルエラーが発生します。最初にDimラインが必要ですか? – user1996971
それは私にとってはうまく動作します。前に 'Dim dict As Object'を追加することができます。 @ user1996971 –
恐ろしい、ありがとう! – user1996971