Vba 数据没有像应该的那样复制

Vba 数据没有像应该的那样复制,vba,excel,Vba,Excel,我不知所措。我一直在做一个非常小的程序,应该花5分钟一个半小时。它正确地添加了所有信息,只是没有在行中找到匹配的两个单元格。Iv根据我认为的问题放置哈希标签 Dim q As String Dim w As String Dim p As Integer Dim o As Integer Dim r As String Dim lRow As Integer lRow = ThisWorkbook.Sheets("Data2").Cells(Rows.Count, 1).End(xlUp).R

我不知所措。我一直在做一个非常小的程序,应该花5分钟一个半小时。它正确地添加了所有信息,只是没有在行中找到匹配的两个单元格。Iv根据我认为的问题放置哈希标签

Dim q As String
Dim w As String
Dim p As Integer
Dim o As Integer
Dim r As String
Dim lRow As Integer

lRow = ThisWorkbook.Sheets("Data2").Cells(Rows.Count, 1).End(xlUp).Row + 1

q = TextBox4.Text
w = TextBox5.Text
r = TextBox4.Text + TextBox5.Text

ThisWorkbook.Sheets("Data2").Cells(lRow, 1) = r

For p = 1 To 1000

   If ((ThisWorkbook.Sheets("Data").Cells(2, p) = q Or _
        ThisWorkbook.Sheets("Data").Cells(2, p) = w) And _
        (ThisWorkbook.Sheets("Data").Cells(1, p) = q Or _
         ThisWorkbook.Sheets("Data").Cells(1, p) = w)) And _
         (Not ThisWorkbook.Sheets("Data").Cells(1, p) = _
          ThisWorkbook.Sheets("Data").Cells(1, p)) Then '#########################################
   ' If (StrComp(ThisWorkbook.Sheets("Data").Cells(p, 2), q, vbTextCompare) = 0) Or (StrComp(ThisWorkbook.Sheets("Data").Cells(p, 2), q, vbTextCompare) = 0) And (StrComp(ThisWorkbook.Sheets("Data").Cells(p, 1), w, vbTextCompare) = 0) Or (StrComp(ThisWorkbook.Sheets("Data").Cells(p, 1), q, vbTextCompare) = 0) Then
        For o = 3 To 1000
            If (Not ThisWorkbook.Sheets("Data").Cells(o, p) = "") Then
                 ThisWorkbook.Sheets("Data2").Cells(lRow, o) = _
                          ThisWorkbook.Sheets("Data").Cells(o, p)
            End If
        Next o

    End If


Next p

此工作簿.Sheets(“数据”)。单元格(2,p)
重复两次,而
此工作簿.Sheets(“数据”)。单元格(1,p)
重复三次。你是有意这么做的吗?考虑使用变量避免多址访问。您正在重复列,而不是行——这是您的意图吗?code>.Cells(2,p)在第一次迭代中是
A2
,在第二次迭代中是
B2
,等等。如果
测试中的最后一个条件没有意义:
和(不是ThisWorkbook.Sheets(“数据”).Cells(1,p)=ThisWorkbook.Sheets(“数据”).Cells(1,p))
总是返回FALSE,如果测试失败,因为一个事物总是和它自己相等。这类似于将
和(不正确)
添加到
If
测试的末尾。你想在这里做什么?谢谢大家的帮助!