在excel中用VBA写代码,怎样判断某一指定列内容是否重复??
判断A列(名称)内容是否重复,若重复则B列(数量)数量相加放入指定单元格里,并只显示第一行隐藏下边重复项。(判断“单立柱”是否重复若重复数量相加后写入B2中,其他单立柱行...
判断A列(名称)内容是否重复,若重复则B列(数量)数量相加放入指定单元格里,并只显示第一行隐藏下边重复项。
(判断“单立柱”是否重复若重复数量相加后写入B2中,其他单立柱行隐藏) 展开
(判断“单立柱”是否重复若重复数量相加后写入B2中,其他单立柱行隐藏) 展开
3个回答
展开全部
Sub s()
Set d = CreateObject("scripting.dictionary")
c = InputBox("请输入列标:")
n = Cells(Rows.Count, c).End(3).Row
For i = 1 To n
a = Cells(i, c).Text
If a <> "" Then
If d.exists(a) Then
MsgBox c & "列内容有重复!"
Exit Sub
Else
d.Add a, ""
End If
End If
Next
MsgBox c & "列内容无重复!"
End Sub
展开全部
1、定义一个数组,如strName()
2、检索A列,把所有不同的名称存入数组strName中,此数组中包含全部名称,且每个名称只有一个,不重复的。
3、按顺序读取数组中的名称,再检索A列,统计结果,存入B列。
2、检索A列,把所有不同的名称存入数组strName中,此数组中包含全部名称,且每个名称只有一个,不重复的。
3、按顺序读取数组中的名称,再检索A列,统计结果,存入B列。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Sub test()
Dim r As Long
Dim tempC, tempC1 As Range
r = [A65536].End(xlUp).Row
For Each tempC In Range("A2:A" & r)
tempC.Offset(0, 2).Value = Application.WorksheetFunction.CountIf(Range("A2:A" & r), tempC.Value)
If tempC.Row >= 3 Then
Set tempC1 = Range("A2:A" & (tempC.Row - 1)).Find(tempC.Value, LookIn:=xlValues)
If Not tempC1 Is Nothing Then
tempC1.Offset(0, 1) = tempC1.Offset(0, 1) + tempC.Offset(0, 1)
Rows(tempC.Row).Hidden = True
End If
End If
Next
End Sub
Dim r As Long
Dim tempC, tempC1 As Range
r = [A65536].End(xlUp).Row
For Each tempC In Range("A2:A" & r)
tempC.Offset(0, 2).Value = Application.WorksheetFunction.CountIf(Range("A2:A" & r), tempC.Value)
If tempC.Row >= 3 Then
Set tempC1 = Range("A2:A" & (tempC.Row - 1)).Find(tempC.Value, LookIn:=xlValues)
If Not tempC1 Is Nothing Then
tempC1.Offset(0, 1) = tempC1.Offset(0, 1) + tempC.Offset(0, 1)
Rows(tempC.Row).Hidden = True
End If
End If
Next
End Sub
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询