Как я могу исправить функцию, которая возвращает результат в той же ячейке, но вставить его как значение в ту же ячейку, где была написана функция?
например для ячейки B2 я написал функцию = txtGetId (A2)
так что теперь B2 вернул, например, «T1011», теперь я хочу, чтобы этот результат был вставлен как значение в B2:)
Это моя функция, которая в основном перебирает все строки и автоматически присваивает новый идентификатор.
Function txtGetID(CellRef As String) As String
Dim sh As Worksheet
Dim rw As Range
Dim numID As String
Dim RowCount As Integer
Dim txtID As String
Dim txtcellID As String
Dim ResID As String
Dim fflag As Integer
Dim FResID As String
Dim txtCellValue As String
RowCount = 0
Set sh = ActiveSheet
ResID = sh.Cells(ActiveCell.Row, 2).Value
fflag = 1
numID = "00"
Do While fflag = 1
fflag = 0
numID = Right("00" & LTrim(Str((Val(numID) + 1))), 2)
For Each rw In sh.Rows
If sh.Cells(rw.Row, 1).Value = "" Then
Exit For
End If
txtCellValue = sh.Cells(rw.Row, 1).Value
If ResID & numID = txtCellValue Then
fflag = 1
Exit For
End If
'txtcellID = sh.Cells(rw.Row, 1).Value
If sh.Cells(rw.Row, 1).Value = "" Then
Exit For
End If
Next rw
For Each rw In sh.Rows
If fflag = 1 Then
Exit For
End If
txtCellValue = sh.Cells(rw.Row, 5).Value
If ResID & numID = txtCellValue Then
fflag = 1
Exit For
End If
'txtcellID = sh.Cells(rw.Row, 3).Value
If sh.Cells(rw.Row, 5).Value = "" Then
Exit For
End If
Next rw
Loop
FResID = ResID & numID
txtGetID = FResID
End Function
запись чего-либо до оператора «Конец функции» будет просто бесполезной, потому что функция вернется с результатом в конце. Я пытался использовать это
ActiveCell.Activate
ActiveCell.Select
activecell.Value=FResID
но это вообще ничего не сделало.