Vba 清除选定范围内行内的重复值

Vba 清除选定范围内行内的重复值,vba,excel,Vba,Excel,这是我第一次来这里 我有一个代码,可以删除和重复曾经在选择范围内合并的值,以便对数据应用过滤器。(见下文) 此代码将重复与其他单元格合并的单个单元格中的值 现在,我找不到方法继续(在同一个选择中)清除一行中的重复值。。。换句话说:我不想向下(按列方向)清除所有重复的单元格值,只想查找并清除excel工作表右侧(按行方向)的所有重复单元格值 我遇到过这样的情况: Sub FindDups() ScreenUpdating = False FirstItem = ActiveCell.Value

这是我第一次来这里

我有一个代码,可以删除和重复曾经在选择范围内合并的值,以便对数据应用过滤器。(见下文)

此代码将重复与其他单元格合并的单个单元格中的值

现在,我找不到方法继续(在同一个选择中)清除一行中的重复值。。。换句话说:我不想向下(按列方向)清除所有重复的单元格值,只想查找并清除excel工作表右侧(按行方向)的所有重复单元格值

我遇到过这样的情况:

Sub FindDups()

ScreenUpdating = False

FirstItem = ActiveCell.Value

SecondItem = ActiveCell.Offset(0, 1).Value

Offsetcount = 1

Do While ActiveCell <> ""

If FirstItem = SecondItem Then

ActiveCell.Offset(Offsetcount, 0).Value = ("")

Offsetcount = Offsetcount + 1

SecondItem = ActiveCell.Offset(Offsetcount, 0).Value

Else

ActiveCell.Offset(Offsetcount, 0).Select

FirstItem = ActiveCell.Value

SecondItem = ActiveCell.Offset(1, 0).Value

Offsetcount = 1

End If

Loop

ScreenUpdating = True

MsgBox "Done"

End Sub
Sub-FindDups()
屏幕更新=错误
FirstItem=ActiveCell.Value
SecondItem=ActiveCell.Offset(0,1).Value
Offsetcount=1
当ActiveCell“”时执行此操作
如果FirstItem=SecondItem,则
ActiveCell.Offset(Offsetcount,0)。值=(“”)
偏移量=偏移量+1
SecondItem=ActiveCell.Offset(Offsetcount,0).Value
其他的
ActiveCell.Offset(Offsetcount,0)。选择
FirstItem=ActiveCell.Value
SecondItem=ActiveCell.Offset(1,0).Value
Offsetcount=1
如果结束
环
屏幕更新=真
MsgBox“完成”
端接头
但这段代码正是我想要的:清除列中的重复值。我想要的是一个清除行中重复值的代码(到右侧单元格)

有人知道怎么做吗


提前感谢

从您的第一个子系统更改此行:

Range(MergeAddress).Value = MergeValue


我使用一个变量,在一张纸上有一个列表,在数据库上有一个过滤器,那个过滤器

'删除宏 “别给我看 ' Application.ScreenUpdating=False ' 'A1标题和a2,3,4,5上的例外列表要删除 工作表(“例外列表”)。选择 “计算例外情况

d = ActiveWorkbook.Worksheets("Exception List").Range("A1", Range("A1").End(xlDown)).Rows.Count
'激活数据库以进行筛选 表格(“1.原始数据”)。激活

'统计数据库数据(a3,因为我从a3开始,使用你需要的任何东西) F=活动工作簿。工作表(“1.原始数据”)。范围(“A3”,范围(“A3”)。结束(xlDown))。行数+2 '为每个异常循环

For i = 2 To d
'exception loop taking
  Sheets("Exception List").Select
Criteria1 = Range("a" & i).Value

Sheets("1. Raw Data").Select
 'filter x exception in loop at data base ( A to Z in my case)
ActiveSheet.Range("$A$3:$Z$" & F).AutoFilter Field:=5, Criteria1:= _
    Criteria1
  'down one of visible rows ( form header to first visible data)
  Range("a3").Select
   With Worksheets("1. Raw Data").AutoFilter.Range
     Range("a" & .Offset(1, 0).SpecialCells(xlCellTypeVisible)(3).Row).Select

   'select all data with exception
Range(Selection, Selection.End(xlToRight).End(xlDown)).Select
    'erase exeptions
Selection.delete Shift:=xlUp
'erase filter
ActiveSheet.Range("$A$3:$Z$3").AutoFilter Field:=5
“下一个例外 接下来我

Application.ScreenUpdating = True


'by christian marcos
美好的工作;)Thks
   'select all data with exception
Range(Selection, Selection.End(xlToRight).End(xlDown)).Select
    'erase exeptions
Selection.delete Shift:=xlUp
'erase filter
ActiveSheet.Range("$A$3:$Z$3").AutoFilter Field:=5
Application.ScreenUpdating = True


'by christian marcos
   sorry now on code everything
 > 'delete Macro dont show srceen
    > 
    > Application.ScreenUpdating = False
    > 
    > 
    > 'List of exception on A1 title and a2,3,4,5 to erase
    > 
    >  Sheets("sheet1").Select
    > 
    > 'count exceptions
    >    
    >     
    >     d = ActiveWorkbook.Worksheets("Exception List").Range("A1", Range("A1").End(xlDown)).Rows.Count
    >      
    >     'activate data base to filter   Sheets("1. Raw Data").Activate
    >       'count data base data ( a3 beacuse mine start at a3, use whatever you need)   F = ActiveWorkbook.Worksheets("1. Raw
    > Data").Range("A3", Range("A3").End(xlDown)).Rows.Count + 2   'loop for
    > each exception
    >   
    >     For i = 2 To d
    >     'exception loop taking
    >       Sheets("Exception List").Select
    >     Criteria1 = Range("a" & i).Value
    >     
    >     Sheets("1. Raw Data").Select
    >      'filter x exception in loop at data base
    >     ActiveSheet.Range("$A$3:$Z$" & F).AutoFilter Field:=5, Criteria1:= _
    >         Criteria1
    >       'down one of visible rows ( form header to first visible data)
    >       Range("a3").Select
    >        With Worksheets("1. Raw Data").AutoFilter.Range
    >          Range("a" & .Offset(1, 0).SpecialCells(xlCellTypeVisible)(3).Row).Select
    >           End With
    > 
    >        'select all data with exception
    >     Range(Selection, Selection.End(xlToRight).End(xlDown)).Select
    >         'erase exeptions
    >     Selection.delete Shift:=xlUp
    >     'erase filter
    >     ActiveSheet.Range("$A$3:$Z$3").AutoFilter Field:=5 'next exception
    >     Next i
    >     
    >     Application.ScreenUpdating = True
    >     
    >     
    >     'by christian marcos