Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Ho provato ad apportare la modifica:
Range("B2").Select....
....... segue codice
call Contrari
e va bene, grazie.
A.
Questa fa tutto in una volta:
Public Sub m()
On Error GoTo RigaErrore
Dim objWord As Object
Dim objContrari As Object
Dim objDoc As Object
Dim vContrari As Variant
Dim v As Variant
Dim lng As Long
Dim col As Collection
Dim lCont As Long
Dim lRiga As Long
Dim vSinonimi As Variant
Dim lSinonimi As Long
Set objWord = CreateObject("Word.Application")
Set objDoc = objWord.Documents.Add()
Set col = New Collection
Set objWord = CreateObject("Word.Application")
With ActiveSheet
Set objContrari = objWord.SynonymInfo(.Range("A2").Value)
lRiga = .Range("B" & .Rows.Count).End(xlUp).Row
.Range("B2:C" & lRiga).Value = ""
lCont = 2
objWord.Visible = False
vContrari = objContrari.AntonymList
On Error Resume Next
lSinonimi = objWord.SynonymInfo(.Range("A2").Value, 1040).MeaningCount
If lSinonimi > 0 Then
vSinonimi = objWord.SynonymInfo(.Range("A2").Value, 1040).MeaningList
End If
If lSinonimi > 0 Then
For lng = 0 To lSinonimi
col.Add CStr(vSinonimi(lng)), CStr(vSinonimi(lng))
Next
End If
End With
For lng = 0 To UBound(vContrari) - 1
col.Add CStr(vContrari(lng)), CStr(vContrari(lng))
Next
For Each v In col
With ActiveSheet
.Cells(lCont, 2).Value = v
If lCont < lSinonimi + 2 Then
.Cells(lCont, 3).Value = 1
Else
.Cells(lCont, 3).Value = 0
End If
lCont = lCont + 1
End With
Next
On Error GoTo 0
RigaChiusura:
objWord.Quit
objDoc.Close
Set col = Nothing
Set objContrari = Nothing
Set objDoc = Nothing
Set objWord = Nothing
Exit Sub
RigaErrore:
MsgBox Err.Number & vbNewLine & Err.Description
Resume RigaChiusura
End Sub