Есть несколько способов поместить переменную типа String в буфер обмена, но данный способ как по мне самый надежный и не вызывает проблем с кодировкой ткуста.
Public Sub toCLPB(ByVal stR As String)
CreateObject("htmlfile").ParentWindow.ClipboardData.SetData "text", stR
End Sub
Пример вызова:
Sub test()
Dim i As Integer
i = 5
toCLPB "Число " & i & " в квадрате равно " & i * i
End Sub