Risultati da 1 a 23 di 23

Discussione: Multiplo nella stessa cella



  1. #1
    L'avatar di MauroS
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Abruzzo
    Età
    40
    Messaggi
    56
    Versione Office
    2007 WIN
    Likes ricevuti
    1

    Multiplo nella stessa cella

    Buona sera a tutti,
    premesso che per me è un onore partecipare a questo forum con persone così preparate su excel vorrei chiedere un aiuto per un problema che non riesco a risolvere.
    Nel file allegato ho bisogno di inserire nella cella P3 un valore che però deve essere automaticamente trasformato nel valore multiplo più vicino in base alla cella d3.
    Grazie in anticipo a chi volesse darmi una mano.

    Mauro. Allegato 233

  2. #2

    L'avatar di scossa
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Verona Provincia
    Età
    57
    Messaggi
    1017
    Versione Office
    .
    Likes ricevuti
    366
    Likes dati
    0
    Ciao Mauro,

    nel file leggo:
    Citazione Originariamente Scritto da MauroS Visualizza Messaggio
    esempio: se inserisco nella cella P3 il valore 500 mi dovrebbe dare direttamente 512 in p3
    Se in una cella (P3) scrivi una formula che faccia riferimento alla cella stessa ottieni un errore di riferimento circolare.
    Per fare quello che chiedi devi fare ricorso al VBA.
    Ultima modifica fatta da:scossa; 16/07/15 alle 21:09
    Bye!
    scossa
    scossa's web site
    ___
    Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)

  3. #3
    L'avatar di MauroS
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Abruzzo
    Età
    40
    Messaggi
    56
    Versione Office
    2007 WIN
    Likes ricevuti
    1
    Ciao Scossa,
    è esattamente quello di cui avrei bisogno per evitare di fare un'altra colonna dato che già sono tante.

    Grazie intanto.

    Mauro.

  4. #4
    L'avatar di ninai
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Barcellona P.G.
    Età
    55
    Messaggi
    1668
    Versione Office
    2010 PC
    Likes ricevuti
    892
    Likes dati
    184
    ciao
    a parte l'obbligo del VBA, mi sorgono due dubbi,

    1) il numero deve essere sempre maggiore o quello più vicino anche se minore??
    2) qualora possa essere anche inferiore, nel caso di equidistanza cosa si fa?, ad esempio se invece di 500 fosse stato 496, vuoi 480 oppure 512??
    chiedo, perchè, a prescindere da caso specifico , mi interessava risolvere anche con formule

  5. #5
    L'avatar di MauroS
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Abruzzo
    Età
    40
    Messaggi
    56
    Versione Office
    2007 WIN
    Likes ricevuti
    1
    Ciao Ninai,
    ti ringrazio per l'interessamento.
    Si tratta della programmazione di una produzione per cui dovendo produrre pallet completi e cioè multipli del numero in D3, in P3 mi va bene anche il numero più vicino anche se minore. In caso di equidistanza è indifferente nel senso che l'importante è che esca fuori un numero multiplo.

    Grazie.

    Mauro

  6. #6
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    49
    Messaggi
    4916
    Versione Office
    2013
    Likes ricevuti
    1117
    Likes dati
    1126
    ciao mauroS
    e se facessi una colonna aggiuntiva con una formula? cosi elimini il problema del riferimento circolare

    =ARROTONDA.MULTIPLO(P3;100)

  7. #7
    L'avatar di MauroS
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Abruzzo
    Età
    40
    Messaggi
    56
    Versione Office
    2007 WIN
    Likes ricevuti
    1
    Ciao Gerardo,
    in effetti ci avevo pensato ma vorrei evitare di avere due colonne, magari vicine, che possano creare un pò di confusione in quanto il file deve essere utilizzato da più persone.
    Magari se non c'è un altro modo posso provare così.
    Intanto ti ringrazio e ribadisco tutta la stima e ammirazione per quello che state facendo!!!

    Grazie.

    Mauro.

  8. #8
    L'avatar di ninai
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Barcellona P.G.
    Età
    55
    Messaggi
    1668
    Versione Office
    2010 PC
    Likes ricevuti
    892
    Likes dati
    184
    Citazione Originariamente Scritto da Gerardo Zuccalà Visualizza Messaggio
    ciao mauroS
    e se facessi una colonna aggiuntiva con una formula? cosi elimini il problema del riferimento circolare

    =ARROTONDA.MULTIPLO(P3;100)
    Gerardo mi hai messo a conoscenza di una funzione sconosciuta/dimenticata, ma in base a come ho capito io, non dovrebbe essere:
    =ARROTONDA.MULTIPLO(P3;D3) ???
    Giusto per sapere se ho preso la tangente

  9. #9
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    49
    Messaggi
    4916
    Versione Office
    2013
    Likes ricevuti
    1117
    Likes dati
    1126
    Citazione Originariamente Scritto da MauroS Visualizza Messaggio
    Ciao Gerardo,
    in effetti ci avevo pensato ma vorrei evitare di avere due colonne, magari vicine, che possano creare un pò di confusione in quanto il file deve essere utilizzato da più persone.
    ahh ok
    comunque sempre con le formule potresti proteggere le formule che non vuoi che vengono toccate con lo strumento protezione foglio, cosi nessuno tocca niente
    ciao

  10. #10
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    49
    Messaggi
    4916
    Versione Office
    2013
    Likes ricevuti
    1117
    Likes dati
    1126
    Citazione Originariamente Scritto da ninai Visualizza Messaggio
    Gerardo mi hai messo a conoscenza di una funzione sconosciuta/dimenticata, ma in base a come ho capito io, non dovrebbe essere:
    =ARROTONDA.MULTIPLO(P3;D3) ???
    Giusto per sapere se ho preso la tangente
    Woow! effettivamente ti da 512
    comunque non avevo finito di leggere bene la domanda di MauroS, ed io non ho usato il riferimento esterno (D3) perchè volevo arrontodare alla centinaia (multiplo di 100) esempio, 249= 200 oppure 251 =300 (difetto/accesso)
    ma noto con piacere che la tua soluzione di ninai ha risolto il problema, oppss parte del problema perchè mauro vuole in VBA
    ciao
    Ultima modifica fatta da:Gerardo Zuccalà; 16/07/15 alle 22:05

  11. #11
    L'avatar di MauroS
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Abruzzo
    Età
    40
    Messaggi
    56
    Versione Office
    2007 WIN
    Likes ricevuti
    1
    Si effettivamente è la formula che intendevo inserire nel caso non si possa risolvere diversamente.
    Resto comunque curioso su cosa si possa fare ulteriormente.

  12. #12

    L'avatar di scossa
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Verona Provincia
    Età
    57
    Messaggi
    1017
    Versione Office
    .
    Likes ricevuti
    366
    Likes dati
    0
    Citazione Originariamente Scritto da MauroS Visualizza Messaggio
    Ciao Scossa,
    è esattamente quello di cui avrei bisogno per evitare di fare un'altra colonna dato che già sono tante.
    Nel modulo di classe del foglio "Formati" incolla il seguente codice:

    Codice: 
    Private Sub Worksheet_Change(ByVal Target As Range)
    
      If Not Intersect(Target, Range("P3:P19")) Is Nothing Then 'adattare il range a proprio uso
        With Application
          .EnableEvents = False
          Target.Value = .WorksheetFunction.MRound(Target.Value, Target.Offset(0, -12).Value)
          .EnableEvents = True
        End With
      End If
      
    End Sub
    N.B.: Se la cella in colonna D è vuota restituisce 0. Se invece preferisci, in caso D sia vuota, che il valore digitato resti invariato usa questo codice:

    Codice: 
    Private Sub Worksheet_Change(ByVal Target As Range)
    
      If Not Intersect(Target, Range("P3:P19")) Is Nothing Then 'adattare il range a proprio uso
        With Application
          .EnableEvents = False
          Target.Value = .MRound(Target.Value, .Max(Target.Offset(0, -12).Value, 1))
          .EnableEvents = True
        End With
      End If
      
    End Sub
    Edit: meglio questo:

    Codice: 
    Private Sub Worksheet_Change(ByVal Target As Range)
      
      Dim vMulti As Variant
      
      If Not Intersect(Target, Range("P3:P19")) Is Nothing Then
        vMulti = Target.Offset(0, -12).Value
        If vMulti <> vbEmpty Then
          With Application
            .EnableEvents = False
            Target.Value = .WorksheetFunction.MRound(Target.Value, vMulti)
            .EnableEvents = True
          End With
        End If
      End If
    
    
    End Sub
    Ultima modifica fatta da:scossa; 16/07/15 alle 23:58 Motivo: modifica codice
    Bye!
    scossa
    scossa's web site
    ___
    Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)

  13. #13
    L'avatar di MauroS
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Abruzzo
    Età
    40
    Messaggi
    56
    Versione Office
    2007 WIN
    Likes ricevuti
    1
    Ciao scossa
    Intanto ti ringrazio di cuore e domani provo. Se ho qualche problema ti faccio sapere. Tutto questo è fantastico

    Mauro

  14. #14
    L'avatar di MauroS
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Abruzzo
    Età
    40
    Messaggi
    56
    Versione Office
    2007 WIN
    Likes ricevuti
    1
    ciao Scossa,
    ho provato ma non conosco bene la procedura di inserimento del codice e forse non ho inserito tutto perfettamente ma sembra che non funzioni nessuno dei 3 codici.
    Mi potresti gentilmente indicare come inserire i codici correttamente?

    Grazie.

  15. #15

    L'avatar di scossa
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Verona Provincia
    Età
    57
    Messaggi
    1017
    Versione Office
    .
    Likes ricevuti
    366
    Likes dati
    0
    Citazione Originariamente Scritto da MauroS Visualizza Messaggio
    ciao Scossa,
    ho provato ma non conosco bene la procedura di inserimento del codice e forse non ho inserito tutto perfettamente ma sembra che non funzioni nessuno dei 3 codici.
    Mi potresti gentilmente indicare come inserire i codici correttamente?
    Allego il file così puoi capire meglio:
    Allegato 237
    Bye!
    scossa
    scossa's web site
    ___
    Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)

  16. #16
    L'avatar di MauroS
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Abruzzo
    Età
    40
    Messaggi
    56
    Versione Office
    2007 WIN
    Likes ricevuti
    1
    Ciao Scossa,
    adesso funziona tutto correttamente, nel caso volessi fare la stessa cosa nelle colonne W e AB basta ripetere il tutto modificando solo le colonne interessate?
    Intanto ti ringrazio veramente di cuore in quanto hai risolto un problema per me molto importante.

    Grazie ancora

    Mauro.

  17. #17

    L'avatar di scossa
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Verona Provincia
    Età
    57
    Messaggi
    1017
    Versione Office
    .
    Likes ricevuti
    366
    Likes dati
    0
    Citazione Originariamente Scritto da MauroS Visualizza Messaggio
    Ciao Scossa,
    adesso funziona tutto correttamente, nel caso volessi fare la stessa cosa nelle colonne W e AB basta ripetere il tutto modificando solo le colonne interessate?
    Premesso che per coerenza col file credo intendessi colonna V e non W, ti riporto il codice modificato (su questo codice se vuoi aggiungere una colonna credo ti sia facile capire come fare):

    Codice: 
    Private Sub Worksheet_Change(ByVal Target As Range)
      
      Dim vMulti As Variant
      
      If Not Intersect(Target, Range("P3:P19,V3:V19,AB3:AB19")) Is Nothing Then
        vMulti = Me.Cells(Target.Row, 4).Value
        If vMulti <> vbEmpty Then
          With Application
            .EnableEvents = False
            Target.Value = .WorksheetFunction.MRound(Target.Value, vMulti)
            .EnableEvents = True
          End With
        End If
      End If
      
    End Sub
    Bye!
    scossa
    scossa's web site
    ___
    Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)

  18. #18
    L'avatar di MauroS
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Abruzzo
    Età
    40
    Messaggi
    56
    Versione Office
    2007 WIN
    Likes ricevuti
    1
    Ciao Scossa,
    Ti ringrazio per tutto, funziona tutto perfettamente.
    un caro saluto.

    Mauro. :208:_:214:

  19. #19
    L'avatar di MauroS
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Abruzzo
    Età
    40
    Messaggi
    56
    Versione Office
    2007 WIN
    Likes ricevuti
    1
    Ciao Scossa,
    scusami ancora ma ho notato un piccolo problema. Quando vado ad inserire nella colonna P un valore in una cella e nella corrispondente cella in D la cella è vuota viene fuori il seguente errore:

    errore di run time '1004'
    impossibile trovare la proprietà Mround

    grazie. :92:

  20. #20

    L'avatar di scossa
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Verona Provincia
    Età
    57
    Messaggi
    1017
    Versione Office
    .
    Likes ricevuti
    366
    Likes dati
    0
    Citazione Originariamente Scritto da MauroS Visualizza Messaggio
    Quando vado ad inserire nella colonna P un valore in una cella e nella corrispondente cella in D la cella è vuota viene fuori il seguente errore:

    errore di run time '1004'
    impossibile trovare la proprietà Mround
    Strano, avevo testato questa ipotesi e l'ho ricontrollata ora e non ho nessun problema: riporta il numero che viene digitato.
    Sicuro che la cella D sia vuota e non contenga, piutttosto, uno spazio?

    Puoi cortesemente postare il codice che stai usando?
    Bye!
    scossa
    scossa's web site
    ___
    Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)

  21. #21
    L'avatar di MauroS
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Abruzzo
    Età
    40
    Messaggi
    56
    Versione Office
    2007 WIN
    Likes ricevuti
    1
    Ciao Scossa,
    il codice è questo:

    Private Sub Worksheet_Change(ByVal Target As Range)

    Dim vMulti As Variant

    If Not Intersect(Target, Range("P3:P800,V3:V800,AB3:AB800")) Is Nothing Then
    vMulti = Me.Cells(Target.Row, 4).Value
    If vMulti <> vbEmpty Then
    With Application
    .EnableEvents = False
    Target.Value = .WorksheetFunction.MRound(Target.Value, vMulti)
    .EnableEvents = True
    End With
    End If
    End If

    End Sub

    il numero presente nella colonna d viene estratto da un altro file con indice e confronta...

  22. #22

    L'avatar di scossa
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Verona Provincia
    Età
    57
    Messaggi
    1017
    Versione Office
    .
    Likes ricevuti
    366
    Likes dati
    0
    Citazione Originariamente Scritto da MauroS Visualizza Messaggio
    Ciao Scossa,
    il numero presente nella colonna d viene estratto da un altro file con indice e confronta...
    L'errore che indichi si verifica solo se la cella contiene un testo, quindi correggi questa riga:
    Codice: 
    If vMulti <> vbEmpty  Then
    in
    Codice: 
    If vMulti <> vbEmpty And IsNumeric(vMulti) Then
    Bye!
    scossa
    scossa's web site
    ___
    Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)

  23. #23
    L'avatar di MauroS
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Abruzzo
    Età
    40
    Messaggi
    56
    Versione Office
    2007 WIN
    Likes ricevuti
    1
    Grazie scossa adesso è tutto a posto

Discussioni Simili

  1. [Risolto] CONTA.SE con due valori nella stessa cella
    Di Silvio65 nel forum Domande su Excel in generale
    Risposte: 6
    Ultimo Messaggio: 16/03/17, 00:16
  2. Convalida dati e cerca nella stessa cella
    Di Emilio62 nel forum Domande su Excel in generale
    Risposte: 4
    Ultimo Messaggio: 08/03/17, 01:09
  3. [Risolto] Inserimento e/o formula nella stessa cella
    Di Marius44 nel forum Domande su Excel VBA e MACRO
    Risposte: 9
    Ultimo Messaggio: 19/01/17, 19:25
  4. [Risolto] Vari risultati nella stessa cella
    Di bopo57 nel forum Domande su Excel in generale
    Risposte: 2
    Ultimo Messaggio: 16/09/16, 15:33
  5. 2 Formule nella stessa cella?
    Di Theinvoker nel forum Domande su Excel in generale
    Risposte: 13
    Ultimo Messaggio: 26/03/16, 16:14

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •