/ / ActiveCell.Formula Run-time fejl 1004 - excel, vba, excel-vba

ActiveCell.Formula Run-time fejl 1004 - excel, vba, excel-vba

Jeg forsøger at få summen af ​​kolonner G:26 til 1 over "Total Service Fees" celle. Jeg kører i en Run-time fejl "1004". Program-defineret eller objektdefineret fejl. Er der nogen der ved, hvad dette kan være fra?

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

Jeg får det rigtige svar, men jeg får stadig denne fejl.

svar:

2 for svar № 1

Undgå brug af SELECT. Du vil måske se DETTE

Når du har identificeret cellen, der havde søgeteksten, skal du blot hente rækken af ​​cellen og bruge den. Se dette eksempel (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

Bemærk: Jeg har ikke gjort nogen fejlhåndtering. Du bliver nødt til at passe på det. For eksempel, hvad hvis søgteksten hvis findes på F26?


0 for svar № 2
Set rng1 = Range("F15:F100").Find(strSearch, , xlValues, xlWhole)

Jeg tror, ​​at dit problem ligger her. Prøv at erklære regnearket eller indstille en variabel til det relevante ark.

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

Beslægtede spørgsmål


Kommentarer (0)

Tilføj en kommentar