Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba Excel,拖动3个不同的命令,但只增加1个而不是3个?_Vba_Excel - Fatal编程技术网

Vba Excel,拖动3个不同的命令,但只增加1个而不是3个?

Vba Excel,拖动3个不同的命令,但只增加1个而不是3个?,vba,excel,Vba,Excel,我想从Sheet1到Sheet2获取大量数据,但当我向右拉动命令时,每三行只能将“C”增加到“D”。 因为我有3个命令要向右拉,所有命令都应该增加1而不是3 A1看起来像这样: =WENN(Sheet1!C3>0;Sheet1!C$2;"") =WENN(Sheet1!C3>0;Sheet1!$A3;"") =WENN(Sheet1!C3>0;Sheet1!C3;"") B1像这样: =WENN(Sheet1!C3>0;Sheet1!C$2;"") =WENN(S

我想从Sheet1到Sheet2获取大量数据,但当我向右拉动命令时,每三行只能将“C”增加到“D”。 因为我有3个命令要向右拉,所有命令都应该增加1而不是3

A1看起来像这样:

=WENN(Sheet1!C3>0;Sheet1!C$2;"")
=WENN(Sheet1!C3>0;Sheet1!$A3;"")
=WENN(Sheet1!C3>0;Sheet1!C3;"")
B1像这样:

=WENN(Sheet1!C3>0;Sheet1!C$2;"")
=WENN(Sheet1!C3>0;Sheet1!$A3;"")
=WENN(Sheet1!C3>0;Sheet1!C3;"")
C1是这样的:

=WENN(Sheet1!C3>0;Sheet1!C$2;"")
=WENN(Sheet1!C3>0;Sheet1!$A3;"")
=WENN(Sheet1!C3>0;Sheet1!C3;"")
当我向右拉时,它们会发生如下变化:

=WENN(Sheet1!F3>0;Sheet1!F$2;"")
=WENN(Sheet1!F3>0;Sheet1!$A3;"")
=WENN(Sheet1!F3>0;Sheet1!F3;"")
但我想:

=WENN(Sheet1!D3>0;Sheet1!D$2;"")
=WENN(Sheet1!D3>0;Sheet1!$A3;"")
=WENN(Sheet1!D3>0;Sheet1!D3;"")
我希望你明白我的意思。
有什么方法可以做到这一点吗?

使用VBA可以:

您在Excel中以VBA语言输入的内容如下:

Range("A1").Formula = "=IF(Sheet1!C3>0,Sheet1!C$2,"""")"
Range("B1").Formula = "=IF(Sheet1!C3>0,Sheet1!$A3,"""")"
Range("C1").Formula = "=IF(Sheet1!C3>0,Sheet1!C3,"""")"
如果现在您放置一个小循环,则每次重新输入公式时,可以在“C”列中添加1。我为此使用了一个小函数(来自)


如果您想要基于公式的解决方案,希望它能帮助您

A1:

B1:

C1:


我不能保证没有错误,因为我没有你的工作簿,但是当我测试公式时,它对我很有效。

如果不知道你到底想做什么,这是一个很难回答的问题。我认为对您来说,最好的解决方案是重新考虑您的战略,并以不同的方式排列数据。也许将B1和C1移动到A2和A3。