我的问题是我希望能够将不同源工作表(即 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 文件: sendspace 附加的 excel 文件