Macro VBA da Excel ad Openoffice

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
sergio12it
Messaggi: 1
Iscritto il: venerdì 16 luglio 2010, 11:35

Macro VBA da Excel ad Openoffice

Messaggio da sergio12it »

Salve

Sarei grato a chiunque riuscisse ad aiutarmi a risolvere questo mio problema.
Ho creato un piccolo File Excel (2007) in cui con una macro (a seguire il codice)
controllo il valori nel range A1:A10 e nel caso di immissione di un valore
qualsiasi in una delle celle, viene scritto nell'equivalente riga in colonna E
"Ok" altrimenti "No".

Vorrei riprodurre la stessa macro in OpenOffice 3.2 ma non riesco in alcun modo
... la macro non parte al variare dei valori nelle celle sopra indicate
oppure se vado in debug, mi viene restituito un errore di runtime basic
(l'argomento non è opzionale) col cursore sull'istruzione "If Not Intersect....")
Qualcuno che ha esperienza puo' aiutarmi?

La macro scritta in Excel è la seguente:

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("A1:A10")) Is Nothing Then
Select Case Target.Cells.Value
Case Is <> ""
Target.Cells(1, 5).Value = "Ok"
Case Is = ""
Target.Cells(1, 5).Value = "No"
End Select
End If

End Sub


Grazie per l'aiuto
OpenOffice 3.2 su Windows
Avatar utente
lucky63
Volontario molto attivo
Volontario molto attivo
Messaggi: 3105
Iscritto il: martedì 18 maggio 2010, 17:01

Re: Macro VBA da Excel ad Openoffice

Messaggio da lucky63 »

Salve
Penso che poteva risolvere velocemente sensa alcuna macro.

Se per Valore intende esclusivamente qualsiasi numero nel senso che:
Se Celle A1:A10 = "valore numerico" allora "Ok" altrimenti "No" (....nella corrispondente cella in colonna E ....)
Può risolvere inserendo nella cella E1 la formula
=SE(VAL.NUMERO(A1);"Ok";"No")
Ricopiando poi in basso la formula per le restanti celle E2:E10

Se invece per Valore intende qualsiasi dato (indipendentemente numerico o testo) nel senso che
Se Celle A1:A10 contiene dato (indipendentemente numerico o testo) allora Ok altrimenti No (....nella corrispondente cella in colonna E ....)
Può risolvere inserendo nella cella E1 la formula
=SE(NON(A1="");"Ok";"No") ....oppure..... =SE(A1="";"No";"Ok")
Ricopiando poi in basso la formula per le restanti celle E2:E10

Salvi poi il file in formato .ods (Calc)

Veda l'allegato esempio con i due test distinti

Saluti
patel
Volontario attivo
Volontario attivo
Messaggi: 4030
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Macro VBA da Excel ad Openoffice

Messaggio da patel »

per utilizzare le macro excel basta aggiungere all'inizio della macro
Option VBASupport 1
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
katoble
Messaggi: 2
Iscritto il: martedì 27 luglio 2010, 12:41

Re: Macro VBA da Excel ad Openoffice

Messaggio da katoble »

Utilizzo questa discussione visto che l'argomento è lo stesso.
Quando apro un documento excel e abilito la macro mi vengono fuori questi errori 'Errore di sintassi basic. Else/Endif senza if' Errore di sintassi basic. Atteso: ,.'

Con microsoft office lo apre senza problemi
OpenOffice 3.2.1 su Windows XP e Ubuntu 10.04 LTD
Rispondi