Condividi tramite

contenuto cella alfanumerico

Anonimo
2015-05-15T07:34:19+00:00

Buon giorno a tutti

sto cercando una funzione che mi permetta di incrementare un valore alfanumerico  di una cella , in un'altra cella

Es : nella cella A1  del Foglio di lavoro  ho  il valore     B4

      scrivendo una funzione nella cella  A5   =???? (se esiste...)    avrei bisogno  che il valore  B4  diventasse  B9

con i numeri e' facile , nella cella destinazione scrivo =(A1+5)  ....con lettere e numeri come si fa' ...inoltre la parte letterale del contenuto della cella A1 (...B)

deve rimanere fisso cambia solo il valore Numerico (sempre +5)

Help   qualsiasi suggerimento e' ben accetto

                                                                                Claudio P

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

  1. Anonimo
    2015-05-15T08:01:42+00:00

    Ciao Claudio,

    Potresti utilizzare una UDF (User Defined Function):

    • Alt-F11 per aprire l'editor di VBA
    • Alt-IM per inserire un nuovo modulo di codice
    • Nel nuovo modulo vuoto, incolla il seguente codice:

    '=========>>

    Option Explicit

    '--------->>

    Public Function DigitsOnly(sStr As String) As Variant

        Dim oRegExp As Object

        Set oRegExp = CreateObject("VBScript.RegExp")

        With oRegExp

            .IgnoreCase = True

            .Global = True

            oRegExp.Pattern = "\D"

            DigitsOnly = .Replace(sStr, vbNullString)

            If IsNumeric(DigitsOnly) Then _

                                DigitsOnly = CLng(DigitsOnly)

        End With

    End Function

    '<<=========

    • Alt-Q per chiudere l'editor di VBA e tornare a Excel.

    Ora potresti usare la UDF come una funzione 'normale'; ad esempio, nel caso indicato da te, immetti la formula

                           =1+DigitsOnly(A1)

    A proposito, questa funzione estrae tutte le cifre numeriche da una stringa, indipendentemente dalla loro posizione nella stringa, Così, se la cella di interesse contenesse la stringa aa2xyz3pqrst56789zzz , la funzione restituirebbe il valore numerico 2356789

    ===

    Regards,

    Norman

    La risposta è stata utile?

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento

Risposta accettata dall'autore della domanda

  1. Anonimo
    2015-05-15T09:19:01+00:00

    Ciao Claudio,

    suppongo si tratti di indirizzi di celle, giusto? In questo caso potresti usare la formula:

    =CELLA("address";SCARTO(INDIRETTO(A1);5;0))

    -oppure- se il carattere dollaro proprio non servisse:

    =SOSTITUISCI(CELLA("address";SCARTO(INDIRETTO(A1);5;0));"$";"")

    La risposta è stata utile?

    0 commenti Nessun commento

5 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2015-05-15T09:34:26+00:00

    Ehi   ciao  Norman   Buon Giorno

    .................. GRAZIE !!!

    Buon Week End

                             Ciao   Claudio P

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2015-05-15T09:29:48+00:00

    Ciao Maurizio

    Grazie

    sto' cercando una scorciatoia per completare la cartella "RIEPILOGO GENERALE"  per utilizzare

    =INDIRETTO  .... anziche' il CERCA.VERT  cosi' posso duplicere le celle di appoggio come mi avevi suggerito tu ... per il file che ti avevo postato (Riepilogo Pratiche ...)

    Cosi' velocizzo il tutto ,prima inserisco tutti i riferimenti nelle celle di appoggio nelle righe 1 e 2 ...

    Poi nelle celle delle righe 8 e 9  inserisco una delle due funzioni che mi hai appena suggerito ....

    E POI COPIA INCOLLA .........!!!!

    GRAZIE  GRAZIE                         Ciao  Claudio P

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2015-05-15T09:26:08+00:00

    ... e, nel caso volessi rendere dinamico il valore dello scarto:

    =CELLA("address";SCARTO(INDIRETTO(B1);RIF.RIGA()-RIF.RIGA(A1)+1;0))

    La risposta è stata utile?

    0 commenti Nessun commento