|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Mar 2004
Messaggi: 326
|
[Excel 2007] fare delle modifiche a delle macro
Ciao a tutti vorrei implementare questo modulo fatto con le macro in excell
Codice:
Sub macro311()
If ActiveSheet.Range("f11").Value <> 274000 / (2200 - 750) Then
MsgBox "ATTENZIONE: IL VOLUME DI PAREGGIO E' SBAGLIATO!"
ElseIf ActiveSheet.Range("g15").Value <> 423500 Then
MsgBox "ATTENZIONE: IL PROFITTO E' SBAGLIATO!"
ElseIf ActiveSheet.Range("e19").Value <> Round(0.80, 2) Then
MsgBox "ATTENZIONE: IL MARGINE DI SICUREZZA E' SBAGLIATO!"
Else
MsgBox "BRAVO E' GIUSTO!"
End If
End Sub
Mi servirebbe il codice da inserire x far uscire i seguenti messaggi: Se nella cella es: X Y Z si inserisce un numero negativo esci un messaggio che informa che e stato inserire un numero negativo Se nella cella es: X Y Z si inserisce una lettera e non un numero esce il relativo messaggio Se nella cella es: X Y Z non si inserisce nulla esce il relativo messaggio: Es. la cella è vuota inserire un valore. MI data qualche indicazione per i 3 stringhe che vi ho citato? |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Codice:
Dim indirizzoRange As String
indirizzoRange = "A1"
If Range(indirizzoRange).Text = "" Then
MsgBox "Inserire Un Valore in " & indirizzoRange & " !", vbExclamation, "Errore"
Else
If IsNumeric(Range(indirizzoRange).Text) Then
If Range(indirizzoRange).Value < 0 Then
MsgBox "Inserire Un Numero Positivo in " & indirizzoRange & " !", vbExclamation, "Errore"
End If
Else
MsgBox "Inserire Un Valore Numerico in " & indirizzoRange & " !", vbExclamation, "Errore"
End If
End If
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Mar 2004
Messaggi: 326
|
grazie mille per l'0info, ti volevo chiedere come faccio a far controllare solo determinate celle? es: solo le celle A1 A2 A3?
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Come già suggerito, lo risolverei parametrizzando ( in una Sub ) il mio esempio precedente. La Sub riceve in ingresso un parametro stringa, che è l'indirizzo testuale del Range da controllare ( in questo caso controllerò le tre celle che hai chiesto, perciò Range("A1:A3") ), costruisce dinamicamente la stringa del MsgBox di errore, e lo visualizza.
- La Sub : Codice:
Private Sub ControlloRange(indirizzoRange As String)
Dim testoMsg As String
Dim R As Range
For Each R In Range(indirizzoRange)
If R.Text = "" Then
testoMsg = testoMsg & "Inserire Un Valore in " & Replace(R.Address, "$", "") & " !" & vbCrLf
Else
If IsNumeric(R.Text) Then
If R.Value < 0 Then
testoMsg = testoMsg & "Inserire Un Numero Positivo in " & Replace(R.Address, "$", "") & " !" & vbCrLf
End If
Else
testoMsg = testoMsg & "Inserire Un Valore Numerico in " & Replace(R.Address, "$", "") & " !" & vbCrLf
End If
End If
Next R
If testoMsg <> "" Then
MsgBox testoMsg, vbExclamation, "Errore"
End If
End Sub
Codice:
ControlloRange "A1:A3" |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Mar 2004
Messaggi: 326
|
grazie mille con i vostri suggerimenti e partendo da zero e venuto fuori un bel lavoretto. :-)
Un ultima domanda, su excell devo far comparire in un grafico una linea che mi va a visualizzare i Costi fissi. Se la funzine e lineare (cioè ipotizzo che tali costi sono 1.500.000 euro sempre) la linea del grafico va bene. Se invece voglio creare una linea non lineare ma a scaletta che man mano aumenta il volume di produzione aumenta anche a costi fissi (stile scala del Pantaleoni in economia) questa non me fa fare. Esempio A Costi Fissi __________________________ Esempio B _____________________________ __________________ _______ Volume di Produzione da 0 a 100 prodotti i Costi fissi saranno 1.500.000 euro Volume di Produzione da 101 a 200 prodotti i Costi fissi saranno 20.00.000 euro Volume di produzione da 201 a 700 prodotti i Costi fisssi saranno 2.500.00 euro graficamente in excell 2007 come devo fare per far visualizzare la linea a scaletta dell'esempio B? |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Non sono sicuro si possa fare, dovrei provare, ma puoi ottenere un risultato molto simile usando istogrammi...
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Mar 2004
Messaggi: 326
|
devo fare un grafico stile quello che ho allegato..
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:01.




















