如果满足条件,则复制一行中的cell.values

时间:2017-06-13 10:17:01

标签: excel vba excel-vba

对不起,我昨天已经问了这个问题,但似乎我的意愿不够清楚,所以这次我再试一次。

我的代码现在看起来像这样:

If OptionButton11.Value = True Then

        Set Rng = Sheets("Table").Range(TextBox3.Value & TextBox1.Value + 1 & ":" & TextBox3.Value & lastrow)
        Set kst = Sheets("Table").Range(TextBox2.Value & TextBox1.Value + 1 & ":" & TextBox2.Value & lastrow)
            For Each Cell In Rng
                If Cell.Value = TextBox10.Value Then
                   Cell.copy Cell.Offset(, 1)
                   Cells(1, Columns.Count).End(xlToLeft).Offset(, 1) = kst.Value
               End If
            Next Cell

End If

在这种情况下,用户有机会使用文本框来定义他的值在工作表中的位置以及宏必须查找的内容。

  • Textbox1.Value定义工作表中标题的位置。 `
  • Textbox2.Value定义可以找到值的位置

  • Textbox3.Value是过滤值后的条件

并且

  • Textbox.Value 4是必需的标准。

我想用这段代码实现;只要在Textbox3.Value范围内找到Textbox4.Value,TextBox2.Value和Textbox3.Value就会被复制到工作表的第一个空闲列中。

我现在的问题是,

Cells(1, Columns.Count).End(xlToLeft).Offset(, 1) = kst.Value

不要复制第一个空列中的值,而是将它们水平添加到列中每个可自由使用的行。

我已经使用xlDown代替xlToLeft进行了尝试,但随后出现了runtimerror(1004)。

有没有人建议如何解决这个问题? 谢谢。

0 个答案:

没有答案