Macro da Office a LibreOffice
Hai un problema con Excel? 
Macro da Office a LibreOffice
di Carlo (utente non iscritto) data: 09/04/2014 11:22:13
Salve. Ho questa macro che per Office funziona però la dovrei mettere su un pc che ha LibreOffice; come va modificata e dove va messa? Grazie in anticipo
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case LCase(Target.Value)
Case "rossi"
MsgBox "Fornitore"
Case "verdi"
MsgBox "Creditore"
Case IsNumeric(Target)
Select Case Target
Case Is >= 50000
MsgBox "Archiviato"
Case 10500 To 11000
MsgBox "Inviato"
End Select
Case Else 'cioè se non trova una corrispondenza con gli altri casi
Dim fin As Range
Set fin = Range("P3:P18").Find(what:=Target, lookat:=xlWhole)
If Not fin Is Nothing Then
MsgBox "Lista nera"
End If
Set fin = Nothing
End Select
If Target Like "*bianchi*" Then
MsgBox "ITALIA"
End If
End Sub |
di lepat (utente non iscritto) data: 09/04/2014 16:05:33
non ti sembra un quesito da porre sul forum dedicato ?
h t t p://it.libreofficeforum.org/forum/apps/calc
h t t p://forum.openoffice.org/it/forum/viewforum.php?f=9&sid=81d0a23708ad30cdd5b322167557f659
comunque macro abbastanza semplici funzionano anche su calc, basta non effettuare successive modifiche
di Carlo (utente non iscritto) data: 09/04/2014 18:06:06
Grazie per la risposta. Ho provato su libreoffice ma non funziona, sembra come se non ci fosse. Avrò sbagliato qualcosa? Come sta questa macro dovrebbe funzionare su libreoffice?
di lepat (utente non iscritto) data: 09/04/2014 21:19:26
Io intendevo aprile il file excel con Calc e lanciare la macro, ma come già detto non sempre funziona.
di lepat (utente non iscritto) data: 09/04/2014 21:21:57
Non avevo notato che questa macro gestisce l'evento change del foglio, quindi non rientra nelle macro semplici ed è normale che non funzioni.
di lepat (utente non iscritto) data: 10/04/2014 06:25:27
mi correggo, ho provato ora ad aprire con Calc un foglio Excel con una macro simile e funzionava perfettamente
di Carlo (utente non iscritto) data: 10/04/2014 07:08:45
Io non devo aprire con calc il mio file excel, ma devo inserire questa macro in un file calc che ha dati diversi dal mio file, ho provato ad inserirlo dove dice sub main ma non va, dove dovrei inserirlo?
di lepat (utente non iscritto) data: 10/04/2014 09:00:54
mi sembrava di essere stato chiaro, ma lo ripeto.
Se apri il file xls con calc hai buone probabilità che funzioni, se vuoi utilizzare la macro su un file ods non funzionerà
di Carlo (utente non iscritto) data: 10/04/2014 14:53:12
Ok. Quindi concretamente come posso fare per utilizzare quella macro in un file calc?
di lepat (utente non iscritto) data: 10/04/2014 15:04:08
Carlo, le leggi le mie risposte ? ho perso tempo a risponderti fino ad ora.
di Carlo (utente non iscritto) data: 11/04/2014 07:10:28
Ho capito, ho sbagliato forum. Grazie lo stesso
di lepat (utente non iscritto) data: 11/04/2014 07:38:38
Te lo avevo detto subito nella prima risposta, qui si parla di excel e Office
di Mauro data: 11/04/2014 08:09:00
E' vero che il regolamento parla chiaro, tuttavia mi sembra che il quesito posto da Carlo possa essere affine alle tematiche trattate nel forum, in certi casi si può essere tolleranti. In ogni caso vi invito ad un tono cordiale e rispettoso. Buon venerdì a tutti!
di lepat (utente non iscritto) data: 11/04/2014 10:51:20
Regolamento:
Il forum può essere utilizzato solamente per discutere temi, dubbi, perplessità, approfondimenti, studi, situazioni, esempi e domande relative:
• Linguaggi di programmazione orientati agli applicativi Office.
• Visual Basic, Visual Basic for Applications
• Excel e gli applicativi Office.
di lepat (utente non iscritto) data: 11/04/2014 10:53:22
impossibile per me non perdere la pazienza dopo aver visto ignorati tutti i miei post
di Mauro data: 11/04/2014 11:35:51
Qui il confine è labile, si tratta di uno studio che parte da Excel verso Calc, che comunque è un foglio di calcolo. Ad ogni modo stai sereno non vale la pena di arrabbiarsi per queste cose, io penso che l'impegno nel forum deve essere un divertimento ed un passatempo, se no chi te lo fa fare!?
di lepat (utente non iscritto) data: 11/04/2014 12:42:10
mi diverte risolvere problemi, non discutere con sordi
di Carlo (utente non iscritto) data: 12/04/2014 10:37:49
Io con Libreoffice non ho mai avuto a che fare, quindi non lo conosco mentre con excel lavoro ogni giorno. Io chiedevo a chi fosse a conoscenza come inserire quella macro per excel in un foglio calc, se magari fosse sufficiente fare un copia e incolla e se sì dove oppure bisogna modificare il codice. Tutto qua. Comunque sicuramente ci sono altri forum più appropriati per questo problema. Un saluto a tutti
di gaetanopr data: 12/04/2014 11:30:35
Ciao, ho cercato di tradurla, pero' quando si fanno queste richieste, a parte la questione del forum di competenza, è sempre meglio spiegare cosa fa la macro e il risultato che si vuole ottenere.
La macro va associata all'evento "Contenuto modificato" facendo tasto dx sulla linguetta del foglio - Eventi foglio.
Option Explicit
Sub LibreOffice(oEv)
If oEv.Type = 2 Then
Select Case LCase(oEv.String)
Case "rossi"
MsgBox "Fornitore"
Case "verdi"
MsgBox "Creditore"
End Select
Else
Select Case oEv.Value
Case Is >= 50000
MsgBox "Archiviato"
Case 10500 To 11000
MsgBox "Inviato"
End Select
End If
Dim fin As Object, Rng As Object, oSD As Object, Risc As Object
Rng = oEv.Spreadsheet.getCellRangeByName("A1:D19")
oSD = oEv.Spreadsheet.createSearchDescriptor
oSD.searchWords = True
oSD.setSearchString(oEv.String)
Risc = Rng.findFirst(oSD)
If Not IsNull(Risc) Then
MsgBox "Lista nera"
End if
If oEv.String Like "*bianchi*" Then
MsgBox "ITALIA"
End If
End Sub
|
di Carlo (utente non iscritto) data: 12/04/2014 11:56:13
Grazie Gaetano per la traduzione. Appena provo in ufficio ti faccio sapere.
di Carlo (utente non iscritto) data: 14/04/2014 18:18:24
Ok, funziona. Gentilissimo
Vuoi Approfondire?