0
作成しようとしているマクロに問題があります。データのあるセルを切断して別のシートに移動する際に問題が発生するVBA
セルに特定の月があるかどうか調べたい場合は、そのセル行から別のシートに範囲を切ります。ここで
は、私がこれまで持っているコードです:
Sub MoveToMonth()
Dim n As Long
Dim nLastRow As Long
Dim nFirstRow As Long
Dim lastRow As Integer
Dim i As Long: i = 1
Dim CellMonth As String
ActiveSheet.UsedRange
With Sheets("DATA_IMPORT")
nFirstRow = .UsedRange.Cells(1).Row
nLastRow = .UsedRange.Rows(.UsedRange.Rows.Count).Row
n = nLastRow
With .Cells(n, "B")
For n = nLastRow To nFirstRow Step -1
CellMonth = Format(.Value, "mmmm")
If CellMonth = "November" Then
.Cells(n, "B").Cut Worksheets("November").Cells(i, "T")
i = i + 1
End If
Next
End With
End With
End Sub
このコードは、エラーなしで実行されますが、何も起こりません。私はここで何が欠けていますか?
また、このコードを実行すると、実際にはBの値をチェックすることを目指しますが、A:Eをカットします。
私は毎月チェックしていますが、私はこの例では11月を使用していますので、私がテストしているデータセットが11月の値を持っているのでコードを稼働させています。
...完璧に動作し、おかげでシャイ。 私はすべての月の間働くためにそれを少しきれいにしました。私が解決しようとしている唯一の問題は、このビットを実行するときです。 '.Range(" A "&n&":E "&n).Cutワークシート(CellMonth).Cells(i、" T " ) ' 'i = i + 1' iカウントはリスト全体で続き、つまり、関連するシートのTの最初の空のセルに貼り付けられていません。 私は月ごとに別々のカウンターを持つことができると思っていましたが、それは乱雑になり、すべての人に共通する1つのステートメントではなく、毎月のifelseステートメントを持たなければならなくなります。何か案は? – dweeman
@dweemanは、ワークシートの次の空のセルを探すだけで、郡を使用する必要はありません –