1
我的問題是我希望能夠將來自不同源工作表(即PRICES1 & PRICES2 &以上)的特定單元格值複製到另一個工作表(TOTALS)中的第一個空行。 到目前爲止的代碼做的工作,但如果例如PRICES1運行,並在列R中留下空白單元格,然後當PRICES2被喚醒時,所有單元格值將佔用下一個可用的行,除了價值「B10」將佔用空白單元格在列R的前一行。將sheet2sheet中的特定單元格複製到下一個空白行
所以,我的問題是這樣的:有沒有辦法強制所有的單元格值佔用同一行,即使有一些空白單元格在前一行?例如,我可以強制其餘的值佔用同一行(當然在適當的單元格中)作爲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 attached excel file
好吧,我是相當新的VBA所以我不知道我正確實施的變量(我得到一個類型不匹配)......我在哪裏posibly錯了嗎? –
你可以再試一次。我從最後錯過了'.Row'。對於那個很抱歉。 – Sam
我認爲這是可行的!非常感謝你!多謝!我希望我不會再打擾你了;-) –