将sheet2sheet中的特定单元格复制到下一个空白行

我的概率是我想能够从不同的源工作表(即PRICES1&PRICES2&更多)复制到另一个工作表(TOTALS)中的第一个空行的特定单元格值。 代码到目前为止做的工作,但如果例如PRICES1运行,并留在列R空白单元格,然后当PRICES2被唤醒时,所有的单元格值将占用下一个可用的行,除了价值“B10”将占用的空白单元格R列的前一行

所以,我的问题是这样的:是否有办法强制所有的单元格值占用同一行,即使有一些空白单元格在前一行? 例如,我可以强制其余的值占据同一行(当然在适当的单元格)作为B4和C4值?

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文件里findexcel文件

您应该将目标行设置为一个variables,并使用它。 select一个你知道总是被填充的列。

 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 

等等