我目前正在尝试创建一个Excel VBA代码,该代码会在单个列中找到重复项时删除整行。我已经创建了代码,但由于某些原因,Excel每次运行时都会崩溃。任何人都可以帮助我吗?
Sub Test()
For i = 1 To 25
a = Cells(i, 1).Value
b = Cells(i + 1, 1).Value
If a = b Then
Rows(i + 1).Delete
i = i - 1
End If
Next i
End Sub
答案 0 :(得分:0)
其中一件事可能会导致此代码出现问题:
1-如果A列中有错误值(即#NA
),则比较If a = b
将失败,代码将停止并显示错误代码type mismatch
2-代码可以进入无限循环(这就是为什么你认为Excel “崩溃”)因为当你到达范围的末尾时你只得到空行,所以比较{ {1}}总是成功(a = b
)因此你会继续删除行并循环.....
因此,正确的方法是应用通常的方法:删除时从下到上循环。
empty = empty
最后,请注意,此代码不会删除任何重复项,只会删除彼此之下的重复项。这似乎是您查看初始代码的目标。
答案 1 :(得分:0)
通过使用以下代码,您可以删除重复的值:
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" rel="stylesheet"/>
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet"/>
<style>
@import url(https://fonts.googleapis.com/css?family=Raleway:400,500);
body {
background-color: #9e0e0e;
font-family: raleway;
font-weight: 400;
}
.container {
width: 600px !important;
margin-top: 200px;
}
#title {
color: #fff;
.title-text {
font-size: 40px;
text-align: center;
}
}
#quote-box {
height: 300px;
background-color: #ffffff;
margin-top: 20px;
margin-left: auto;
margin-right: auto;
border-radius: 3px;
}
#button-rows {
position: absolute;
bottom: 0.5em;
left: 1em; right: 1em;
}
#new-quote {
padding: 1em;
}
.fa-comment {
color: #ba0e0e;
text-shadow: 2px 2px 1px #ccc;
}
.fa-comment:hover {
color: #910a0a;
}
.fa-twitter {
color: #ba0e0e;
text-shadow: 2px 2px 1px #ccc;
}
.fa-twitter:hover {
color: #910a0a;
}
</style>
<div class="container">
<div class="row justify-content-center">
<div class="col-xs-12 text-center" id="title"><span class="title-text">Random Quote Machine</span></div>
</div>
<div class="row">
<div class="col-sm-12 text-center" id="quote-box">
<div id="new-quote">asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf</div>
<div class="row" id="button-rows">
<div class="col-6 text-left">
<i class="fa fa-twitter fa-3x" aria-hidden="true"></i>
</div>
<div class="col-6 text-right">
<i class="fa fa-comment fa-3x" aria-hidden="true"></i>
</div>
</div>
</div>
</div>
</div>