我正在設計一個包含12行數據的數據提交電子表格(當前第22至33行)。行34至42填充了文本。如果要輸入多於12個數據集,使用與第33行相同的格式,使用分配給按鈕的宏,我想在第33行下添加一個新行(第34行)。這很容易,但如果我需要在第34行下面的另一個新行(現在是第35行),我需要一個代碼是靈活的做到這一點;我總是在第33行下面添加新行,而不是在數據輸入集的最後一行之下。我該怎麼做呢?我是很新的VBA ...在最後一行下方添加行
感謝,
安迪
我正在設計一個包含12行數據的數據提交電子表格(當前第22至33行)。行34至42填充了文本。如果要輸入多於12個數據集,使用與第33行相同的格式,使用分配給按鈕的宏,我想在第33行下添加一個新行(第34行)。這很容易,但如果我需要在第34行下面的另一個新行(現在是第35行),我需要一個代碼是靈活的做到這一點;我總是在第33行下面添加新行,而不是在數據輸入集的最後一行之下。我該怎麼做呢?我是很新的VBA ...在最後一行下方添加行
感謝,
安迪
我不認爲唐的回答會的工作,因爲你的國家,你有文本行34至42
如果文本值行34中的單元格不會更改,您可以搜索該單元格並在其上插入一行。
Dim someText As String
someText = "Text value of row 34"
Dim currentRange As Range
Set currentRange = Selection
With Range("A:A").find(someText) 'change the range if needed
.EntireRow.Insert
.Offset(-2).EntireRow.Copy
.Offset(-1).EntireRow.PasteSpecial xlPasteFormats 'change the paste type as needed
End With
Application.CutCopyMode = False 'get rid of the marching ants
currentRange.Select 'select whatever was selected before
'alternative: Range("A1").Select
lastrow = Cells(Rows.Count, "A").End(xlUp).Row + 1
變化 「A」 到始終在有數據的列的名稱。
您LASTROW變量可以被用來作爲:
Range("A" & lastrow).Value = "blah"
Thanks 2tsai;這就像一個魅力!當我運行這個時,新行被完全選中。我如何才能選擇列A中的單元格? – Reindeer
我編輯了代碼以重新選擇在宏運行之前所選的內容。如果您想選擇另一個範圍,只需更改代碼塊的最後一行。 – 2tsai
美麗!快速響應非常感謝。而奇妙的是:我甚至開始明白這是如何工作的:)! – Reindeer