Excel e gli applicativi Microsoft Office Rinominare Foglio con contenuto di due celle differenti

Login Registrati
Stai vedendo 4 articoli - dal 1 a 4 (di 4 totali)
  • Autore
    Articoli
  • #5865 Risposta

    Paolo
    Partecipante

      Buongiorno a tutti, come faccio a rinominare il foglio corrente con il contenuto di due celle differenti. io riesco a rinominarlo con il solo contenuto di una cella in questo modo:

      Public Sub m()
      
      On Error GoTo RigaErrore
      
      Dim lRisposta As Long
      lRisposta = MsgBox(Prompt:="Vuoi rinominare il foglio?", Title:="Attenzione", Buttons:=vbYesNo + vbQuestion)
      
      
      If lRisposta = vbYes Then
      With ActiveSheet
      
      
      If .Range("b1").Value <> “” Then
      .Name = .Range("b1").Value
      
      End If
      End With
      End If
      
      RigaChiusura:
      Exit Sub
      
      RigaErrore:
      MsgBox Err.Number & vbNewLine & Err.Description
      Resume RigaChiusura
      
      End Sub

      grazie a tutti

      #5868 Risposta
      Marius44
      Marius44
      Moderatore
        4 pts

        Ciao Paolo

        purtroppo il codice che hai scritto si legge male.

        Comunque, credo che in questa riga:

        If .Range(“b1”).Value <> “” Then .Name = .Range(“b1”).Value

        gli stai dicendo "se B1 non è vuota allora assegna il testo di B1 come nome"

        A mio avviso dovresti creare una variabile a cui assegnare il testo delle due celle che vuoi e quindi se B1 non è vuota allo assegna la VARIABILE come nome.

        Ciao,

        Mario

        #5875 Risposta

        vion
        Partecipante
          3 pts

          Se vuoi rinominare il foglio con i valori di due celle come B1 e C1, puoi modificare il tuo codice così:

          Public Sub m()
          
          On Error GoTo RigaErrore
          
          Dim lRisposta As Long
          lRisposta = MsgBox(Prompt:="Vuoi rinominare il foglio?", Title:="Attenzione", Buttons:=vbYesNo + vbQuestion)
          
          
          If lRisposta = vbYes Then
          With ActiveSheet
          
          
          If Range("B1").Value <> "" And Range("C1").Value <> "" Then
          .Name = .Range("B1").Value & "-" & Range("C1").Value
          ElseIf Range("B1").Value <> "" Or Range("C1").Value <> "" Then
          .Name = Range("B1").Value & Range("C1").Value
          
          End If
          End With
          End If
          
          RigaChiusura:
          Exit Sub
          
          RigaErrore:
          MsgBox Err.Number & vbNewLine & Err.Description
          Resume RigaChiusura
          
          End Sub

           

          #5891 Risposta
          Luca73
          Luca73
          Partecipante
            4 pts

            Ciao

            per puliza e coerenza aggiungerei un po di "." prima dei range

            If .Range("B1").Value <> "" And .Range("C1").Value <> "" Then
               .Name = .Range("B1").Value & "-" & Range("C1").Value
            ElseIf .Range("B1").Value <> "" Or .Range("C1").Value <> "" Then
               .Name = .Range("B1").Value & .Range("C1").Value
            End If
          Login Registrati
          Stai vedendo 4 articoli - dal 1 a 4 (di 4 totali)
          Rispondi a: Rinominare Foglio con contenuto di due celle differenti
          Gli allegati sono permessi solo ad utenti REGISTRATI
          Le tue informazioni:



          vecchio frac - 829 risposte

          albatros54
          albatros54 - 516 risposte

          Marius44
          Marius44 - 282 risposte

          patel
          patel - 264 risposte

          Luca73
          Luca73 - 235 risposte