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 Score: 0 | 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 Score: 0 | Risposta

      Marius44
      Moderatore
        52 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 Score: 1 | 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 Score: 0 | Risposta

          Luca73
          Partecipante
            56 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: