簡體   English   中英

更改起點行

[英]Change starting point row

有一個我要根據另一個工作表上的輸入量進行修改的表格。 無法獲取下面的代碼。 我是VBA新手,所以可能很簡單。 不確定我的“ Dim”和“ Set”命令是否正確,因為我收到“ startrow1”的“ Object Required”錯誤。

代碼應添加可變數量的行(這樣做)。 但是問題是出發點。 “默認”起始點將為“ A20”,但是需要根據先前在其上方添加的帶有另一個宏的行數進行更改。 (ws1.Range。( “D45”)。值)。 因此,如果“ D45”為2,則起點應更改為“ A22”。

Sub Addquotedrows()

Application.ScreenUpdating = False

Dim ws1     As Worksheet
Dim ws2     As Worksheet
Dim addquoted As Range
Dim startrow As Range
Dim startrow1 As Range


Set ws1 = Sheets("Input")
Set ws2 = Sheets("PakEmail")
Set addquoted = ws1.Range("D46")
Set startrow = ws2.Range("a20")

Set startrow1 = startrow + ws1.Range("D45").Value

Let X = 0
Do While X < addquoted

With ws2
    startrow1.EntireRow.Insert Shift:=xlUp
End With

X = X + 1
Loop

Application.ScreenUpdating = True

End Sub

僅用 D45中的行數偏移起始行。

Set startrow = ws2.Range("a20").offset(ws1.Range("D45").Value, 0)

使用您擁有的代碼,您需要將startrow設置為整數,然后進行加法,並將startrow1 =的范圍設置為如下所示的值:

Dim startrow Integer
Set startrow = 20
Set startrow1 = Range("A" & startrow + 
ws1.Range("D45").Value

您的問題是,您正在向范圍中添加一個整數,就像在一個大城市的中間,並說您正在尋找地址9。錯誤消息是:“好,那9是什么?” 那有意義嗎?

所以現在您有2個選擇。 1)使用具有偏移量的上述地址2)使用此處顯示的數字。 哪一種都能滿足您的需求,取決於您的樣式,什么對您有意義,以及如果使用另一種方式可能會絆倒其他代碼。 (這種可能性很小,但仍然是可能的)。

祝好運!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM