关于加快此代码的任何建议?

时间:2020-05-08 01:20:12

标签: excel vba performance palindrome

好的,我有下面的代码,它在A列第1到18行中使用18个不同的单词,并在所有不同的组合中尝试它们以找到7个单词的回文。我很确定代码会完成它,但是它只搜索很长时间。我知道有一种方法可以检查组合的第一个字母和最后一个字母,以确保它们是相同的,在代码通过REVERSE函数运行它们之前,我只是不知道该怎么做。我对此很陌生,换句话说,每次将7个单词放在一起时,如果不必通过REVERSE函数,将节省大量时间,并验证首字母和尾字母比赛会做到这一点。预先感谢您的帮助

 Sub SevenDrome()

Dim count As Integer

count = 0

Dim wordtest As String
Dim wordpal As String

For j = 1 To 18
   For k = 1 To 18
      For l = 1 To 18
         For m = 1 To 18
            For n = 1 To 18
               For o = 1 To 18
                  For p = 1 To 18

wordtest = Cells(j, 1) & Cells(k, 1) & Cells(l, 1) & Cells(m, 1) & Cells(n, 1) & Cells(o, 1) & Cells(p, 1)
wordpal = REVERSE(wordtest)

If wordtest = wordpal Then
count = count + 1

Cells(count, 7) = wordtest

End If
                  Next p
               Next o
            Next n
         Next m
      Next l
   Next k
Next j

End Sub

0 个答案:

没有答案