Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Numeri con un click

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Numeri con un click

Postdi ahidai » 05/11/13 10:29

Un saluto a tutti, volevo chiedervi se era possibile modificare questo codice che mi sviluppò Flash.
Codice: Seleziona tutto
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
UR = Range("A" & Rows.Count).End(xlUp).Row
CheckArea = "A3:A100" & UR
Areas = "V1"
Dim Vs(50) As Integer
Dim Vr(50) As Integer
If Not Application.Intersect(ActiveCell, Range(CheckArea)) Is Nothing Then
    If (Selection.Rows.Count + Selection.Columns.Count) > 2 Then Exit Sub
    Application.EnableEvents = False
    If Selection.Value <> 0 Then
        Selection.ClearContents
    Else
   
    For Cs = 2 To UR
        If Mid(Range("A" & Cs).Value, 1, 1) = "S" Then
            NS = Val(Replace(Range("A" & Cs).Value, "S", ""))
            Vs(NS) = NS
        Else
            NR = Val(Replace(Range("A" & Cs).Value, "R", ""))
            Vr(NR) = NR
       
        End If
    Next Cs

For VV = 1 To 50
    If [V1] = "S" Then
        If Vs(VV) = 0 Then
            Vs(VV) = VV
            GoTo SaltaS
        End If
    Else
        If Vr(VV) = 0 Then
            Vr(VV) = VV
            GoTo SaltaS
        End If
    End If
Next VV
SaltaS:
    Selection.Value = [V1] & VV
    End If
End If
SaltaA:

If Not Application.Intersect(ActiveCell, Range(Areas)) Is Nothing Then
    If (Selection.Rows.Count + Selection.Columns.Count) > 2 Then Exit Sub
    Application.EnableEvents = False

     If Selection.Value = "S" Then
        [V1] = "R"
    Else
        [V1] = "S"
    End If
    ActiveCell.Offset(0, -1).Select
End If
Application.EnableEvents = True
End Sub

La modifica che mi serve è praticamente senza la lettera davanti al numero, praticamente inserire dei numeri progressivi con un click, questa modifica mi serve per compilare una distinta per calciatori, quindi la numerazione deve essere fino a 20 o posso indicare io il numero massimo da inserire e chiaramente senza doppioni, il codice di Flash fa tutto questo però non riesco a modificarlo.
Spero di essere stato chiaro, un saluto a tutti e buona giornata.
ahidai
Utente Senior
 
Post: 209
Iscritto il: 08/12/10 17:33

Sponsor
 

Re: Numeri con un click

Postdi ahidai » 05/11/13 15:34

ahidai ha scritto:Un saluto a tutti, volevo chiedervi se era possibile modificare questo codice che mi sviluppò Flash.
Codice: Seleziona tutto
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
UR = Range("A" & Rows.Count).End(xlUp).Row
CheckArea = "A3:A100" & UR
Areas = "V1"
Dim Vs(50) As Integer
Dim Vr(50) As Integer
If Not Application.Intersect(ActiveCell, Range(CheckArea)) Is Nothing Then
    If (Selection.Rows.Count + Selection.Columns.Count) > 2 Then Exit Sub
    Application.EnableEvents = False
    If Selection.Value <> 0 Then
        Selection.ClearContents
    Else
   
    For Cs = 2 To UR
        If Mid(Range("A" & Cs).Value, 1, 1) = "S" Then
            NS = Val(Replace(Range("A" & Cs).Value, "S", ""))
            Vs(NS) = NS
        Else
            NR = Val(Replace(Range("A" & Cs).Value, "R", ""))
            Vr(NR) = NR
       
        End If
    Next Cs

For VV = 1 To 50
    If [V1] = "S" Then
        If Vs(VV) = 0 Then
            Vs(VV) = VV
            GoTo SaltaS
        End If
    Else
        If Vr(VV) = 0 Then
            Vr(VV) = VV
            GoTo SaltaS
        End If
    End If
Next VV
SaltaS:
    Selection.Value = [V1] & VV
    End If
End If
SaltaA:

If Not Application.Intersect(ActiveCell, Range(Areas)) Is Nothing Then
    If (Selection.Rows.Count + Selection.Columns.Count) > 2 Then Exit Sub
    Application.EnableEvents = False

     If Selection.Value = "S" Then
        [V1] = "R"
    Else
        [V1] = "S"
    End If
    ActiveCell.Offset(0, -1).Select
End If
Application.EnableEvents = True
End Sub

La modifica che mi serve è praticamente senza la lettera davanti al numero, praticamente inserire dei numeri progressivi con un click, questa modifica mi serve per compilare una distinta per calciatori, quindi la numerazione deve essere fino a 20 o posso indicare io il numero massimo da inserire e chiaramente senza doppioni, il codice di Flash fa tutto questo però non riesco a modificarlo.
Spero di essere stato chiaro, un saluto a tutti e buona giornata.


Ah mi sono dimenticato di chiedervi che volevo nascondere i vari fogli, purtroppo con i vari collegamenti ipertestuali che ho sul foglio principale e le varie macro non si aprono i vari fogli, ecco il codice
Codice: Seleziona tutto
Private Sub Workbook_Open()
    Application.ScreenUpdating = False
   
' Macro registrata il 06/01/2011 da By Bov

    Sheets("Squadre").Visible = False
    Sheets("Dirigenti").Visible = False
    Sheets("Convocazioni").Visible = False
    Sheets("Formazione Camp.").Visible = False
    Sheets("Lista Ufficiale").Visible = False
    Sheets("Lista Maneger").Visible = False
    Sheets("Aggiorna Dati").Visible = False
   
    Sheets("Calciatori").Visible = True
    Sheets("Calciatori").Select
   
   
    Range("A16").Select
    Application.ScreenUpdating = True
End Sub


Grazie per le risposte, saluti.
ahidai
Utente Senior
 
Post: 209
Iscritto il: 08/12/10 17:33

Re: Numeri con un click

Postdi Flash30005 » 05/11/13 17:59

Per limitare a 20 il numero da trascrivere puoi modificare il ciclo For next
Codice: Seleziona tutto
For VV = 1 To 50 '<<<< sostituendo il 50 con 20

Per non trascrivere la lettera, modifica questa riga da così
Codice: Seleziona tutto
   Selection.Value = [V1] & VV

a così
Codice: Seleziona tutto
   Selection.Value = VV


Molto probabilmente, a questo punto potrebbe essere semplificata l'intera macro ma attendo conferma che quanto detto soddisfi la nuova esigenza

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Numeri con un click

Postdi ahidai » 05/11/13 20:58

Flash30005 ha scritto:Per limitare a 20 il numero da trascrivere puoi modificare il ciclo For next
Codice: Seleziona tutto
For VV = 1 To 50 '<<<< sostituendo il 50 con 20

Per non trascrivere la lettera, modifica questa riga da così
Codice: Seleziona tutto
   Selection.Value = [V1] & VV

a così
Codice: Seleziona tutto
   Selection.Value = VV


Molto probabilmente, a questo punto potrebbe essere semplificata l'intera macro ma attendo conferma che quanto detto soddisfi la nuova esigenza

ciao


Grazie per la risposta Flash, (non avevo dubbi della tua disponibilità), allora ho modificato quanto mi hai indicato, ed è successo che la lettera non viene più inserita quindi tutto ok, il problema è, supponiamo che ho la colonna A3:A100, se inizio a cliccare sulla cella A3 mi inserisce il nr 1 e poi non mi fa inserire nessun'altro numero, se provo ad inserirlo dalla cella A2 in poi non mi fa inserire nessun numero, poi ho provato ad inserire il numero 21 a mano nella cella A101 e solo così mi ha inserito tutti i numeri fino a 20 ma doppiando il numero 21 nelle celle rimanenti.
Spero di essere stato chiaro nella spiegazione e ti auguro una buona serata.
P.S. Per quanto riguarda i vari fogli da nascondere hai qualche soluzione?
ahidai
Utente Senior
 
Post: 209
Iscritto il: 08/12/10 17:33

Re: Numeri con un click

Postdi Flash30005 » 06/11/13 03:44

Stai dicendo delle verità
il range della macro originale si riferiva dalla colonna A riga 3 alla riga 100
tutto ciò che fai oltre queste righe non avviene nulla (quindi cella A2 e cella A101 non succederà nulla finché non cambi il range)
Ora mi dici che fai inserimenti manualmente e non volendo ripercorrere una macro che era per altre esigenze (purtroppo non altro utente) cosa mi chiedi?
Spero non certo di modificare una macro che faceva tutt'altre cose?
Descrivi meglio solo il nuovo quesito ed evita di richiamare ciò che è stato fatto per altra esigenza.

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Numeri con un click

Postdi ahidai » 06/11/13 09:10

Flash30005 ha scritto:Stai dicendo delle verità
il range della macro originale si riferiva dalla colonna A riga 3 alla riga 100
tutto ciò che fai oltre queste righe non avviene nulla (quindi cella A2 e cella A101 non succederà nulla finché non cambi il range)
Ora mi dici che fai inserimenti manualmente e non volendo ripercorrere una macro che era per altre esigenze (purtroppo non altro utente) cosa mi chiedi?
Spero non certo di modificare una macro che faceva tutt'altre cose?
Descrivi meglio solo il nuovo quesito ed evita di richiamare ciò che è stato fatto per altra esigenza.
ciao


Ciao Flash e grazie ancora della tua disponibilità, allora mi serve un codice che inserisce i numeri da 1 a 20 senza doppioni, considerando che se cancello un numero in una cella me lo faccia rinserire lo stesso numero in un'altra cella "come faceva il codice di cui sopra" chiaramente il tutto con un click del mouse, poi se c'è la possibilità che mi dica con un messaggio che ho inserito il numero max di inserimento sarebbe perfetto. Il range che mi interessa è dalla cella A3 alla cella A100.
ahidai
Utente Senior
 
Post: 209
Iscritto il: 08/12/10 17:33

Re: Numeri con un click

Postdi Flash30005 » 08/11/13 01:38

Prova questa che dall'ultimo tuo post non tiene conto delle cella in "V1"

Codice: Seleziona tutto
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
UR = Range("A" & Rows.Count).End(xlUp).Row
CheckArea = "A3:A100" & UR
Areas = "V1"
Dim Vs(20) As Integer
If Not Application.Intersect(ActiveCell, Range(CheckArea)) Is Nothing Then
    If (Selection.Rows.Count + Selection.Columns.Count) > 2 Then Exit Sub
    Application.EnableEvents = False
    If Selection.Value <> 0 Then
        Selection.ClearContents
    Else
        For Cs = 2 To UR
            NS = Range("A" & Cs).Value
            Vs(NS) = NS
        Next Cs
        For VV = 1 To 20
            If Vs(VV) = 0 Then
                Vs(VV) = VV
                GoTo SaltaS
            End If
        Next VV
SaltaS:
        If VV <= 20 Then Selection.Value = VV
    End If
End If
Application.EnableEvents = True
End Sub


Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Numeri con un click

Postdi ahidai » 08/11/13 14:48

Flash30005 ha scritto:Prova questa che dall'ultimo tuo post non tiene conto delle cella in "V1"

Codice: Seleziona tutto
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
UR = Range("A" & Rows.Count).End(xlUp).Row
CheckArea = "A3:A100" & UR
Areas = "V1"
Dim Vs(20) As Integer
If Not Application.Intersect(ActiveCell, Range(CheckArea)) Is Nothing Then
    If (Selection.Rows.Count + Selection.Columns.Count) > 2 Then Exit Sub
    Application.EnableEvents = False
    If Selection.Value <> 0 Then
        Selection.ClearContents
    Else
        For Cs = 2 To UR
            NS = Range("A" & Cs).Value
            Vs(NS) = NS
        Next Cs
        For VV = 1 To 20
            If Vs(VV) = 0 Then
                Vs(VV) = VV
                GoTo SaltaS
            End If
        Next VV
SaltaS:
        If VV <= 20 Then Selection.Value = VV
    End If
End If
Application.EnableEvents = True
End Sub


Ciao



Grazie Flash per il codice, sembrava che funzionasse bene, ma purtroppo mi ha dato un errore.
Allego il file http://www.filedropper.com/cartel1

Grazie ancora per la tua disponibilità.
Ciao.
ahidai
Utente Senior
 
Post: 209
Iscritto il: 08/12/10 17:33

Re: Numeri con un click

Postdi ahidai » 08/11/13 20:50

ahidai ha scritto:
Flash30005 ha scritto:Prova questa che dall'ultimo tuo post non tiene conto delle cella in "V1"

Codice: Seleziona tutto
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
UR = Range("A" & Rows.Count).End(xlUp).Row
CheckArea = "A3:A100" & UR
Areas = "V1"
Dim Vs(20) As Integer
If Not Application.Intersect(ActiveCell, Range(CheckArea)) Is Nothing Then
    If (Selection.Rows.Count + Selection.Columns.Count) > 2 Then Exit Sub
    Application.EnableEvents = False
    If Selection.Value <> 0 Then
        Selection.ClearContents
    Else
        For Cs = 2 To UR
            NS = Range("A" & Cs).Value
            Vs(NS) = NS
        Next Cs
        For VV = 1 To 20
            If Vs(VV) = 0 Then
                Vs(VV) = VV
                GoTo SaltaS
            End If
        Next VV
SaltaS:
        If VV <= 20 Then Selection.Value = VV
    End If
End If
Application.EnableEvents = True
End Sub


Ciao



Grazie Flash per il codice, sembrava che funzionasse bene, ma purtroppo mi ha dato un errore.
Allego il file http://www.filedropper.com/cartel1

Grazie ancora per la tua disponibilità.
Ciao.


Riprovavo il codice e mi ha dato un altro tipo di errore errore di run-time tipo non corrispondente evidenziando Vs(NS) = NS
Ciao.
ahidai
Utente Senior
 
Post: 209
Iscritto il: 08/12/10 17:33

Re: Numeri con un click

Postdi ahidai » 13/11/13 21:01

Nessuno mi da una mano?
ahidai
Utente Senior
 
Post: 209
Iscritto il: 08/12/10 17:33

Re: Numeri con un click

Postdi ahidai » 17/11/13 22:02

Purtroppo non ci riesco, ho provato a smanettare qualcosa nel codice di Flash, niente da fare, mi arrendo.
Saluti.
ahidai
Utente Senior
 
Post: 209
Iscritto il: 08/12/10 17:33

Re: Numeri con un click

Postdi Anthony47 » 18/11/13 00:24

Se descrivi che cosa vuoi ottenere, senza chiederci di fare il reverse engineering di quella macro per capirlo, magari ci provo anche io...

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13904
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Numeri con un click

Postdi ahidai » 18/11/13 14:52

Anthony47 ha scritto:Se descrivi che cosa vuoi ottenere, senza chiederci di fare il reverse engineering di quella macro per capirlo, magari ci provo anche io...

Ciao


Ciao Anthony e grazie per la risposta, allora il codice elaborato da Flash va "bene" praticamente con un click del mouse inserisce i numeri da 1 a 20 senza doppioni, considerando che se cancello un numero in una cella me lo fa rinserire lo stesso numero in un'altra cella, il range interessato è A3:A100.
Il problema che a volte mi da 2 tipi di errori e non capisco perchè (errore di run-time '1004' metodo range dell'oggeto_worksheet non riuuscito) e ( errore di run-time '13' tipo non corrispondente).
Ho notato che questi errori me li da se clicco fuori dal range A1:A100, chiaramente se chiudo il file senza salvarlo rifunziona.
Spero di essere stato chiaro nella spiegazione e auguro un buon pomeriggio a tutti.
Ciao.
ahidai
Utente Senior
 
Post: 209
Iscritto il: 08/12/10 17:33

Re: Numeri con un click

Postdi ahidai » 18/11/13 21:00

Ah mi sono dimenticavo di evidenziare l'errore sul codice, quando c'è l'errore (errore di run-time '1004' metodo range dell'oggeto_worksheet non riuscito) mi evidenzia questa riga nel codice "If Not Application.Intersect(ActiveCell, Range(CheckArea)) Is Nothing Then", mentre per quanto riguarda l'altro errore (errore di run-time '13' tipo non corrispondente) evidenzia questa riga "Vs(NS) = NS".
Buona serata.
ahidai
Utente Senior
 
Post: 209
Iscritto il: 08/12/10 17:33

Re: Numeri con un click

Postdi Flash30005 » 18/11/13 23:56

Mi sono accorto, dopo il tuo intervento di un bug dovuto ad un refuso della precedente macro.
Dovrei aver corretto con questa versione
Codice: Seleziona tutto
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
UR = Range("A" & Rows.Count).End(xlUp).Row
CheckArea = "A3:A100"
Dim Vs(20) As Integer
If Not Application.Intersect(ActiveCell, Range(CheckArea)) Is Nothing Then
    If (Selection.Rows.Count + Selection.Columns.Count) > 2 Then Exit Sub
    Application.EnableEvents = False
    If Selection.Value <> 0 Then
        Selection.ClearContents
    Else
        For Cs = 2 To UR
            NS = Range("A" & Cs).Value
            Vs(NS) = NS
        Next Cs
        For VV = 1 To 20
            If Vs(VV) = 0 Then
                Vs(VV) = VV
                GoTo SaltaS
            End If
        Next VV
SaltaS:
        If VV <= 20 Then Selection.Value = VV
    End If
End If
Application.EnableEvents = True
End Sub


Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Numeri con un click

Postdi ahidai » 19/11/13 10:34

Buongiorno, purtroppo anche con l’ultima modifica del codice effettuata da Flash ha ancora l’errore di run-time '13' tipo non corrispondente evidenziando questa riga "Vs(NS) = NS".
Forse il problema è che ho necessità di nascondere i vari fogli e aprire un foglio alla volta nascondendo il foglio prima aperto, per fare ciò ho scopiazzato queste macro:

Sub Foglio1()
Application.ScreenUpdating = False

Worksheets("Foglio1").Visible = False
Sheets("Foglio1").Visible = True
Sheets("Foglio1").Select

Range("A1").Select
Application.ScreenUpdating = True

End Sub

Sub Foglio2()

Application.ScreenUpdating = False

Worksheets("Foglio2").Visible = False
Sheets("Foglio2").Visible = True
Sheets("Foglio2").Select

Application.ScreenUpdating = True

End Sub

E così via per gli altri fogli…..

Nel Thisworkbook ho inserito questo codice:

Private Sub Workbook_Open()

Application.ScreenUpdating = False

'Sheets("Foglio2").Visible = False
'Sheets("Foglio3").Visible = False
'Sheets("Foglio4").Visible = False
'Sheets("Foglio5").Visible = False
'Sheets("Foglio6").Visible = False
'Sheets("Foglio7").Visible = False
'Sheets("Foglio8").Visible = False

Sheets("Foglio1").Visible = True
Sheets("Foglio1").Select

Range("A1").Select
Application.ScreenUpdating = True
End Sub


Nei singoli fogli ho inserito questo:

Private Sub Worksheet_Deactivate()
Worksheets("Foglio1").Visible = False
End Sub

Private Sub Worksheet_Deactivate()
Worksheets("Foglio2").Visible = False
End Sub

E così via per gli altri fogli…..

Devo dire che i codici trovati in giro non funzionano correttamente nel senso che all’apertura del file mi apre il Foglio1 poi aprendo i vari Fogli tramite le macro di cui sopra non mi chiude automaticamente i fogli aperti in precedenza, ma rimangono aperti 2 o 3 Fogli, quindi non funziona come vorrei e cioè che mi lasciasse aperto un solo foglio alla volta.
Spero di essere stato chiaro nella spiegazione ed auguro una buona giornata a tutti.
ahidai
Utente Senior
 
Post: 209
Iscritto il: 08/12/10 17:33

Re: Numeri con un click

Postdi Anthony47 » 19/11/13 23:18

Non so che cosa la macro dovrebbe fare, quindi vado a tentoni...
In prima battuta modificherei la dichiarazione di Vs in
Codice: Seleziona tutto
Dim Vs(20)


Pero' bisognerebbe vedere il contenuto di Cs al momento dell' errore e quindi il contenuto della riga Cs di col A per meglio diagnosticare e risolvere.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13904
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Numeri con un click

Postdi ahidai » 19/11/13 23:49

Ciao Anthony, ho provato a modificare quanto detto da te nella riga:


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
UR = Range("A" & Rows.Count).End(xlUp).Row
CheckArea = "A3:A100"
Dim Vs(20) As Integer
If Not Application.Intersect(ActiveCell, Range(CheckArea)) Is Nothing Then
If (Selection.Rows.Count + Selection.Columns.Count) > 2 Then Exit Sub
Application.EnableEvents = False
If Selection.Value <> 0 Then
Selection.ClearContents
Else
For Cs = 2 To UR
NS = Range("A" & Cs).Value
Vs(NS) = NS '>>>>>>>>>>>>>>>>>>>>>>>>> in Dim Vs(20)
Next Cs
For VV = 1 To 20
If Vs(VV) = 0 Then
Vs(VV) = VV
GoTo SaltaS
End If
Next VV
SaltaS:
If VV <= 20 Then Selection.Value = VV
End If
End If
Application.EnableEvents = True
End Sub

Purtroppo la macro mi da questo errore: (errore di compilazione dichiarazione doppia nell'area di validità corrente)

Ciao.
ahidai
Utente Senior
 
Post: 209
Iscritto il: 08/12/10 17:33

Re: Numeri con un click

Postdi Anthony47 » 20/11/13 00:00

In prima battuta modificherei la dichiarazione di Vs in
Codice: Seleziona tutto
Dim Vs(20)


Devi togliere Dim Vs(20) As Integer e mettere Dim Vs(20)

La riga Vs(NS) = NS resta invariata

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13904
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Numeri con un click

Postdi Flash30005 » 20/11/13 00:00

ahidai ha scritto: purtroppo anche con l’ultima modifica del codice effettuata da Flash ha ancora l’errore di run-time '13' tipo non corrispondente

Ho riprovato più volte e non riscontro l'errore.
dovresti specificare in quale condizione appare (fuori dal range, a fine numeri dichiarati o altro)

Per quanto riguarda i fogli non capisco... Se all'apertura nascondi tutti i fogli tranne il foglio1 come fai ad aprire gli altri fogli?
hai un pulsante?

Comunque, su ogni VBA foglio inserisci questa macro
Codice: Seleziona tutto
Private Sub Worksheet_Activate()
NomeF = Name
NascondiFogli
End Sub

e in un modulo questa macro
Codice: Seleziona tutto
Public NomeF As String
Sub NascondiFogli()
Sheets(NomeF).Visible = True
For I = 1 To Worksheets.Count
If Sheets(I).Name <> NomeF Then
Sheets(I).Visible = False
End If
Next I
End Sub

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "Numeri con un click":


Chi c’è in linea

Visitano il forum: Marius44 e 5 ospiti