/ / ActiveCell.Formula Run-time error 1004 - Excel, vba, excel-vba

ActiveCell.Formula izpildes laika kļūda 1004 - excel, vba, excel-vba

Es cenšos iegūt G sleju summu:26 līdz 1 virs "Kopējās pakalpojumu maksas" šūnas. Es sāku darboties kļūdas "1004" laikā. Lietojumprogrammas definēta vai objekta definēta kļūda. Vai kāds zina, ko tas varētu būt?

Worksheets(1).Select
Dim rng1 As Range
Dim strSearch As String
strSearch = "Total Service Fees"
Set rng1 = Range("F15:F100").Find(strSearch, , xlValues, xlWhole)
If Not rng1 Is Nothing Then
rng1.Offset(0, 1).Select
ActiveCell.Formula = "=SUM(G26:" & ActiveCell.Offset(-1, 0).Select & ")"
Else
MsgBox strSearch & " not found"
End If

Man ir pareizā atbilde, bet es joprojām saņemu šo kļūdu.

Atbildes:

2 atbildei Nr. 1

Izvairieties izmantot SELECT. Jūs varat redzēt ŠO

Kad esat identificējis šūnu, kurai bija meklēšanas teksts, vienkārši iegūstiet šīs šūnas rindu un izmantojiet to. Skatiet šo piemēru (UNTESTED).

Dim rng1 As Range
Dim strSearch As String
Dim r As Long

With Worksheets(1)
strSearch = "Total Service Fees"
Set rng1 = .Range("F15:F100").Find(strSearch, , xlValues, xlWhole)
If Not rng1 Is Nothing Then
r = rng1.Row
.Range("G" & r).Formula = "=SUM(G26:G" & r & ")"
Else
MsgBox strSearch & " not found"
End If
End With

Piezīme: Es neesmu darījis nevienu kļūdu. Jums par to būs jārūpējas. Piemēram, ja meklējat tekstu, ja tas ir atrasts F26?


0 atbildei Nr. 2
Set rng1 = Range("F15:F100").Find(strSearch, , xlValues, xlWhole)

Es domāju, ka jūsu problēma ir šeit. Mēģiniet deklarēt darblapu vai iestatīt mainīgo atbilstošajai lapai.

Dim WS as Worksheet
Set WS = Activeworkbook.Sheets("Enter Sheet Name")
Set rng1 = WS.Range("F15:F100").Find(strSearch, , xlValues, xlWhole)

Saistītie jautājumi


Komentāri (0)

Pievieno komentāru