/ / Skriv værdi af formel i celle med VBA - excel, vba, excel-vba

Skriv værdi af formel i celle med VBA - excel, vba, excel-vba

Hvis jeg vil have værdi fra en Excel formel ina celle og kun værdi ikke "Formlen"

Jeg har prøvet med denne kode, men det giver mig ikke kun værdien.

Dim ZmAntal As Long

Dim CountryRange As Range, C As Range

Dim Res As Variant

ZmAntal = Worksheets("Maskinerum").Cells(8, 4).value

Set CountryRange = Sheets("Zmbistad").Range(Cells(2, 1), Cells(ZmAntal, 1))

For Each C In CountryRange

Res = "=CONCATENATE(RC[1],RC[14])"

If Not IsError(Res) Then

C.Offset(0, 0).value = Res

End If

Next C

End Sub

svar:

1 for svar № 1

du kunne bruge dette:

Dim ZmAntal As Long

ZmAntal = Worksheets("Maskinerum").Cells(8, 4).Value
With Sheets("Zmbistad").Range(Cells(2, 1), Cells(ZmAntal, 1)) " reference relevant range
.FormulaR1C1 = "=CONCATENATE(RC[1],RC[14])" " write formula in referenced range
.Value = .Value " get rid of formulas and leave values only in referenced range
.SpecialCells(xlCellTypeConstants, xlErrors).ClearContents " clear any cell with an "error" value n referenced range
End With

0 for svar № 2

Du kan bruge Evaluate:

"...
With CountryRange
.Value = Evaluate("=IF(ROW()," & _
"CONCATENATE(" & .Offset(0, 1).Address & "," & _
"" & .Offset(0, 14).Address & "))")
End With
"...

Beslægtede spørgsmål


Kommentarer (0)

Tilføj en kommentar