0
私は必要なコードを書いています。私が抱えている唯一の問題は、空行を削除し、forループの次の反復の前に残りのデータをシフトすることです。もし誰かが提案を持っていれば、すべての耳。この背後にある理由は、重複が削除されると、空の行がその場所に残され、結果としてnumrowを計算する際にcurrentregionの値が変化するということです。ループ内で調整されたデータをシフトする
Option Explicit
Public Sub dup()
Dim i As Integer
Dim updater As Worksheet
Dim LastRow As Range
Dim LastColumn As Long
Dim startcell As Range
Dim numrow As Long
Dim rcell As String
Dim LastCell As Range
Set updater = Worksheets("DbVisualizer Personal")
'-----------------------------------------------------
numrow = updater.Range("A4").CurrentRegion.rows.Count
For i = 4 To numrow
rcell = updater.Cells(i, 30)
Set startcell = updater.Cells(i, 1)
'Set LastRow = startcell.Offset(1, 0)
Set LastCell = updater.Cells(i + 10, 35)
If rcell = "Y" Then
Else
updater.Range(startcell.Address, LastCell.Address).RemoveDuplicates Columns:=Array(7, 17), Header:=xlNo
End If
Next i
End Sub
'SpecialCells(xlCellTypeBlanks)'を使って空白を見つけて削除してください。 – cyboashu