簡體   English   中英

VBA Excel將變量設置為帶有.row的行號

[英]VBA Excel set variable to row number with .row

我有很多文件,想找到曲線各部分下的區域。 我定義了X1和X2幾條曲線。

宏然后找到行x1和x2,然后應該給我它們包含的行號,但是在此步驟中,我一直遇到錯誤。

然后,稍后使用這些值對區域進行煅燒。

它曾經工作過,我對變量進行了更改,此后再也沒有使它正常工作。

這是代碼:

Sub Macro1()

Dim myRange, TotalPeak, TotalBack, FoundCell_1, FoundCell_2, J, FileNumber, Point_1, Point_2, CPoint_1, CPoint_2

FileNumber = InputBox("Number of curves")
Point_1 = InputBox("Enter point one of curve")
Point_2 = InputBox("Enter point two of curve")

For J = 1 To FileNumber

FoundCell_1 = ActiveSheet.Columns(1).Find(What:=Point_1, LookIn:=xlValues, LookAt:=xlPart)
FoundCell_2 = ActiveSheet.Columns(1).Find(What:=Point_2, LookIn:=xlValues, LookAt:=xlPart)

CPoint_1 = FoundCell_1.Row
CPoint_2 = FoundCell_2.Row

myRange = ActiveSheet.Range(Cells(CPoint_1, J + 1), Cells(CPoint_2, J + 1))
TotalPeak = Application.WorksheetFunction.Sum(myRange)
TotalBack = ((Cells(CPoint_1, J + 1) + Cells(CPoint_2, J + 1)) / 2) * Abs((CPoint_2 - CPoint_1))
Worksheets("Sheet2").Cells(J, 1) = TotalPeak - TotalBack

Next

End Sub

您需要Set以下行,因為它們將是范圍變量,而范圍是一個對象。

更改此:

FoundCell_1 = ActiveSheet.Columns(1).Find(What:=Point_1, LookIn:=xlValues, LookAt:=xlPart)
FoundCell_2 = ActiveSheet.Columns(1).Find(What:=Point_2, LookIn:=xlValues, LookAt:=xlPart)

至:

Set FoundCell_1 = ActiveSheet.Columns(1).Find(What:=Point_1, LookIn:=xlValues, LookAt:=xlPart)
Set FoundCell_2 = ActiveSheet.Columns(1).Find(What:=Point_2, LookIn:=xlValues, LookAt:=xlPart)

此更改將允許從您的范圍對象中拉出.Row屬性。

暫無
暫無

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

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