Vba 将特定单元格从Sheet2表复制到下一个空行
我的问题是,我希望能够将不同源工作表中的特定单元格值(即价格1和价格2及更多)复制到另一工作表中的第一个空行。 到目前为止,代码执行该任务,但是如果PrICES1运行并在列R中留下空白单元格,则当PrICES2被诱发时,除了值B10外,所有单元值将占据下一条可用行,否则将占据列R.前一行的空白单元格。 所以,我的问题是:是否有一种方法可以强制所有单元格值占据同一行,即使前一行中有一些空白单元格?例如,我是否可以强制其他值与B4和C4值占据相应单元格中的同一行Vba 将特定单元格从Sheet2表复制到下一个空行,vba,excel,Vba,Excel,我的问题是,我希望能够将不同源工作表中的特定单元格值(即价格1和价格2及更多)复制到另一工作表中的第一个空行。 到目前为止,代码执行该任务,但是如果PrICES1运行并在列R中留下空白单元格,则当PrICES2被诱发时,除了值B10外,所有单元值将占据下一条可用行,否则将占据列R.前一行的空白单元格。 所以,我的问题是:是否有一种方法可以强制所有单元格值占据同一行,即使前一行中有一些空白单元格?例如,我是否可以强制其他值与B4和C4值占据相应单元格中的同一行 Sub PRICES1_click(
Sub PRICES1_click()
ActiveSheet.Calculate
ActiveSheet.Columns("F:F").AutoFit
If Sheets("TOTALS").Range("M" & Rows.Count).End(3)(2).Value = "" Then
If Sheets("TOTALS").Range("M" & Rows.Count).End(3)(2).Value = "" Then
Sheets("TOTALS").Range("M" & Rows.Count).End(3)(2).Value = Sheets("PRICES1").Range("B4").Value
Sheets("TOTALS").Range("N" & Rows.Count).End(3)(2).Value = Sheets("PRICES1").Range("C4").Value
Sheets("TOTALS").Range("O" & Rows.Count).End(3)(2).Value = Sheets("PRICES1").Range("B6").Value
Sheets("TOTALS").Range("S" & Rows.Count).End(3)(2).Value = Sheets("PRICES1").Range("L46").Value
End If
End If
Worksheets("TOTALS").Calculate
End Sub
Sub PRICES2_click()
ActiveSheet.Calculate
ActiveSheet.Columns("F:F").AutoFit
If Sheets("TOTALS").Range("M" & Rows.Count).End(3)(2).Value = "" Then
If Sheets("TOTALS").Range("M" & Rows.Count).End(3)(2).Value = "" Then
Sheets("TOTALS").Range("M" & Rows.Count).End(3)(2).Value = Sheets("PRICES2").Range("B4").Value
Sheets("TOTALS").Range("N" & Rows.Count).End(3)(2).Value = Sheets("PRICES2").Range("C4").Value
Sheets("TOTALS").Range("O" & Rows.Count).End(3)(2).Value = Sheets("PRICES2").Range("B6").Value
Sheets("TOTALS").Range("R" & Rows.Count).End(3)(2).Value = Sheets("PRICES2").Range("B10").Value
Sheets("TOTALS").Range("S" & Rows.Count).End(3)(2).Value = Sheets("PRICES2").Range("L46").Value
End If
End If
Worksheets("TOTALS").Calculate
End Sub
您可以在以下位置找到excel文件:
您应该将目标行设置为一个变量,并使用该变量。选择一个您知道将始终填充的列
Dim rowNo As Long
rowNo = Sheets("TOTALS").Range("M" & Rows.Count).End(XlUp).Row + 1
Sheets("TOTALS").Range("M" & rowNo).Value = Sheets("PRICES2").Range("B4").Value
Sheets("TOTALS").Range("N" & rowNo).Value = Sheets("PRICES2").Range("C4").Value
Sheets("TOTALS").Range("O" & rowNo).Value = Sheets("PRICES2").Range("B6").Value
等等。好的,我对vba相当陌生,所以我不确定我是否正确实现了变量,因为我发现类型不匹配。。。我哪里可能错了?你能再试一次吗。我错过了。从最后一排开始。很抱歉,我想这行得通!非常感谢你,伙计!非常感谢!我希望我不会再打扰你-