Ricerca ambo frequente



  • Ricerca ambo frequente
    di Antonio (utente non iscritto) data: 07/11/2013 22:40:52

    Buonasera a tutto il forum. Nell'intervallo di celle D14:H621 ho inserito le estrazione del lotto di una singola ruota; quando inserirò la prossima estrazione naturalmente l'intervallo sarà D14.H622. Mi servirebbe una macro che mi trovi l'ambo e il terno più frequente in quest'intervallo.



  • di totygno71 (utente non iscritto) data: 08/11/2013 08:15:53

    Al di là del tema... tu non hai prodotto nulla in merito???



  • di Antonio (utente non iscritto) data: 08/11/2013 08:34:09

    Io ho solo le estrazioni nell'intervallo D14:H621, di vba non ne capisco purtroppo.



  • di totygno71 (utente non iscritto) data: 08/11/2013 14:17:53

    Peccato... se non hai le basi la vedo dura che tu riesca a combinare qualcosa...^_^



  • di Antonio (utente non iscritto) data: 08/11/2013 14:27:22

    Sto cercando qualche anima buona che lo sappia fare! Io più di questo in vba non so:

    Sub RicercaAmboTerno
    Dim

    e poi non so proprio come iniziare!



  • di Vecchio Frac data: 08/11/2013 15:22:20

    LOL è già qualcosa... dimostra almeno che sai entrare nell'editor ^_^
    totygno, ci proviamo ad aiutare l'amico Antonio?
    Premessa: io ho capito che lui cerca gli ambi e i terni più frequenti, vale a dire con gli stessi identici numeri (anche con gli elementi in ordine diverso: 65 e 33 è uguale a 33 e 65).
    Bisogna quindi spazzolare l'intero range memorizzando ogni singola estrazione in combinazione di ambi e terni e andare via lisci con Find e FindNext.
    Un lavoro un po' lungo ma concepibile per la mente atomica di totygno ^_^






  • di totygno (utente non iscritto) data: 08/11/2013 20:33:25

    @VF
    Lo sai che mi viene l'orticaria quando si parla di lotto, totocalcio enalotto tris, Aglio, fravaglio, fattura ca nun quaglio, corna, bicorna, capa r'alice e capa r'aglio_ ^_^



  • di Antonio (utente non iscritto) data: 08/11/2013 21:11:24

    Egregio Sig. Totygno, il Non Plus Ultra del VBA, il Number One di Excel un eccezione non la potresti fare? Sono stato convincente?



  • di totygno71 data: 09/11/2013 13:29:00

    Visto la tua presa in giro, ti popongo mezzo lavoro...
    ^_^



  • di Antonio (utente non iscritto) data: 09/11/2013 17:35:41

    Io non prendo in giro nessuno e soprattutto le persone che non conosco! Siccome hai scritto che sei allergico ai giochi ho cercato di darti la carica giusta ^_^ Detto questo ti ringrazio del file fatto molto bene. Manca solo il terno. Siccome gli allegati dopo un paio di giorni vengono eliminati inserisco il codice vba leggermente modificato da me che resterà per il futuro. Grazie ancora ^_^
     
    Option Explicit
    
    Sub AmboFrequente()
    Dim ambo As String, ramb As Integer
    Dim rig As Integer, urig As Long
    Dim i As Long
    Dim rng As Range, c As Range, xxx As Range
    Set rng = Range("D14:H621")
    
    Range("A:B").ClearContents
    
    'For Each c In rng
    'c.Value = Int((90 - 1 + 1) * Rnd + 1)
    'Next c
    
    urig = Range("H" & Rows.Count).End(xlUp).Row
    
    
    i = 2
    
    Cells(1, 1) = "AMBI"
    Cells(1, 2) = "USCITE"
    
    'Ambi
    
    For rig = 14 To urig
            
        For ramb = 5 To 8
            
            If Cells(rig, 4).Value > Cells(rig, ramb).Value Then
            ambo = Cells(rig, 4).Value & " - " & Cells(rig, ramb).Value
            Else
            ambo = Cells(rig, ramb).Value & " - " & Cells(rig, 4).Value
            End If
            
            Set xxx = Range("A:A").Find(ambo, lookat:=xlWhole)
            If xxx Is Nothing Then
            Cells(i, 1) = ambo
            Cells(i, 2) = 1
            i = i + 1
            Else
            xxx.Offset(, 1).Value = xxx.Offset(, 1).Value + 1
            End If
            
        Next ramb
    
        For ramb = 6 To 8
    
            If Cells(rig, 5).Value > Cells(rig, ramb).Value Then
            ambo = Cells(rig, 5).Value & " - " & Cells(rig, ramb).Value
            Else
            ambo = Cells(rig, ramb).Value & " - " & Cells(rig, 5).Value
            End If
            
            Set xxx = Range("A:A").Find(ambo, lookat:=xlWhole)
            If xxx Is Nothing Then
            Cells(i, 1) = ambo
                    Cells(i, 2) = 1
    
            i = i + 1
            Else
            xxx.Offset(, 1).Value = xxx.Offset(, 1).Value + 1
            End If
        
        Next ramb
    
        For ramb = 7 To 8
            If Cells(rig, 6).Value > Cells(rig, ramb).Value Then
            ambo = Cells(rig, 6).Value & " - " & Cells(rig, ramb).Value
            Else
            ambo = Cells(rig, ramb).Value & " - " & Cells(rig, 6).Value
            End If
            
            Set xxx = Range("A:A").Find(ambo, lookat:=xlWhole)
            If xxx Is Nothing Then
            Cells(i, 1) = ambo
                    Cells(i, 2) = 1
    
            i = i + 1
            Else
            xxx.Offset(, 1).Value = xxx.Offset(, 1).Value + 1
            End If
        Next ramb
        
    Next rig
    
    Columns("A:B").Select
            Selection.Sort Key1:=Range("B1"), Order1:=xlDescending, Header:=xlGuess, _
            OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
            DataOption1:=xlSortNormal
    Range("A1").Select
    ambo = [A2]
    
    Application.Wait Now + TimeValue("00:00:01")
    
    
    'Range("A:B").ClearContents
    MsgBox "L'Ambo più frequente è il " & ambo & ""
    
    End Sub
    



  • di totygno (utente non iscritto) data: 09/11/2013 19:57:43

    Bhe visto chehai sproteto il file e lo hai modificato sarai certamnte in grado di ottimizzarlo e ampliarlo per il terno... dopoutto mancano poche istruzioni...
    Buon divertimento! ^_^



  • di totygno (utente non iscritto) data: 09/11/2013 20:01:44

    E cmq essendo protetto dovevi chiedermi il permesso prima di pubblicarlo, quindi chiedo ufficialmente o a Vecchio Frac o a Mauro la cancellazione del "MIO" codice, nonchè un ammonimento ufficiale al sig. Antonio!
    grazie



  • di Antonio (utente non iscritto) data: 09/11/2013 21:22:53

    Io spesso dò un occhiata a diverse discussioni per imparare qualcosa ed ho notato che ti piace scherzare e mi sono permesso anch'io di fare ciò. Visto che nel tuo codice originale hai un pò scherzato, ho "scherzato" anch'io! Se te la sei presa ti chiedo umilmente scusa! Io non me la prendo per così poco in quanto fatto in clima di scherzo. Se ho pubblicato il codice l'ho fatto nell'interesse degli altri non certo il mio! Comunque ti assicuro che come hai detto tu anche se mancano poche righe di codice per il terno, io non sono in grado di farlo altrimenti non te lo avrei chiesto!



  • di Vecchio Frac data: 09/11/2013 21:40:57

    Dai totygno com'era? "Number One" ^_^ forse hai ragione ma non piantare il musetto per così poco... sproteggere un file di Excel è alla portata di tutti ormai :P
    Vero è però che non è molto corretto pubblicare un codice che qualcun altro ha cercato di non rendere pubblico per motivi suoi...e su questo totygno ha davvero ragione!
    Antonio comunque si è scusato e penso che puoi passarci sopra, in effetti leggendo il codice non è fatto male, anzi vista la tua poca simpatia per la materia del lotto non posso che farti i complimenti! certo bisogna chiudere un occhio sulle variabili tipo "xxx" che sanno tanto di luci rosse ^_^
    e adesso su, completaci il codice con le istruzioni per il terno :)





  • di totygno (utente non iscritto) data: 09/11/2013 22:11:56

    cit"Antonio comunque si è scusato e penso che puoi passarci sopra"

    No! Riformulo per l'ultima volta la mia richiesta di cancellazione immediata del mio codice_

    PS Chiudere un occhio su xxx...??? e ramb??? dove lo mettiamo??? ^_^



  • di Antonio (utente non iscritto) data: 09/11/2013 22:22:52

    E i nuovi puffi dove li mettiamo? Vedi i vari ambolo, cliccamelo, arrotondamelo ecc. ^_^



  • di Textomb data: 10/11/2013 10:54:15

    cit. sproteggere un file di Excel è alla portata di tutti ormai
    Veramente io non ci riesco!!!
    Cioè se la protezione è a livello cartella di lavoro nei singoli fogli per evitare l'immissione errata di dati in celle contenenti formule, magari potrei cimentarmi. Anche se non saprei da dove partire e soprattutto non ne ho mai avuto la necessità.
    Ma, rimuovere la protezione da file excel che non consentono neanche l'apertura dello stesso file ovvero, a livello di modulo per la protezione del codice... mi sembra, a prima vista operazione molto più complicata. Sicuramente esisteranno dei software specifici che fanno ciò. Ma se così non è anche a me piacerebbe sapere come si fa.
    saluti.



  • di Vecchio Frac data: 10/11/2013 13:55:36

    cit. "anche a me piacerebbe sapere come si fa."
    ---> Volentieri. Ma, naturalmente, strettamente in privato. Sai dove trovarmi ^_^





  • di Antonio (utente non iscritto) data: 11/11/2013 13:44:08

    Se Totygno71 non vuole completare il codice per il terno perchè gli sono diventato antipatico c'è qualcuno che è in grado di farlo?



  • di totygno71 (utente non iscritto) data: 11/11/2013 14:01:53

    Non mi sei diventato antipatico, hai fatto una cosa poco garbata... Quindi accetto tranquillamente le tue scuse ma non intendo continuare.
    PS Prendi la palla al balzo e approfittane per cimentarti anche tu. ^_^



  • di Antonio (utente non iscritto) data: 11/11/2013 14:10:54

    Tu mi avevi fatto lo "scherzetto" di non farmi vedere gli ambi frequenti dal secondo in poi scrivendolo nel msgbox ed io ho "ricambiato" facendoli vedere, tutto qua! ^_^ Se mi dai qualche suggerimento posso provare a cimentarmi. Tipo: hai detto che bisogna aggiungere due righe di codice al tuo; quindi il tuo non va modificato proprio? Oppure bisogna modificare due righe del tuo codice?



  • di totygno71 (utente non iscritto) data: 11/11/2013 14:21:29

    Va bene, il mio potrebbe essere ottimizzato molto, per esempio utilizzando la funzione min e max per ordinare i vari ambi.
    Per quanto riguarda i terni, ho scoperto che dai 5 numeri estratti possono essere formati 10 terni differenti, quindi bisogna scorrere la cinquina e trovare quessti 10 terni, ognuno dei quali (tramite find) deve essere ricercato nella colonna in cui si vanno a i nserire tutti i terni trovati, se non c'è lo inserisce nell'ultima cella libera altrimenti incrementa di uno il numero delle volte che è stato trovato.

    che ne pensi come logica? Ci puo andare? Tieni conto che di lotto non ci capisco nulla! ^_^



  • di Antonio (utente non iscritto) data: 11/11/2013 15:04:47

    Io invece ne capisco di lotto ma pochissimo di vba. Nella cinquina come hai detto tu ci sono 10 terni e siccome le colonne A B sono occupate dall'ambo bisogna usare la C e D; siccome il range D14:H621 comprende la colonna D va spostato in E14:I621; il resto del ragionamento che hai fatto è giusto e cioè che se un terno lo trova deve aumentare di 1 altrimenti lo deve inserire nella cella sotto libera. Quindi per fare questo secondo me bisognerebbe fare un altro macro e copiare tutto il codice per l'ambo così come sta e modificare alcuni punti. Ho detto bene?



  • di Antonio (utente non iscritto) data: 11/11/2013 17:20:23

    Io ho fatto così: ho creato un altra sub copiando il tuo codice per l'ambo così come sta e modificando alcuni punti. Solo che non so come fare per creare i 10 terni per ogni riga, me ne crea solo 3. Inserisco il codice.
     
    Option Explicit
    
    Sub TernoFrequente()
    Dim Terno As String, Tern As Integer
    Dim rig As Integer, urig As Long
    Dim i As Long
    Dim rng As Range, c As Range, xxx As Range
    Set rng = Range("F14:J53")
    
    Range("C:D").ClearContents
    
    'For Each c In rng
    'c.Value = Int((90 - 1 + 1) * Rnd + 1)
    'Next c
    
    urig = Range("J" & Rows.Count).End(xlUp).Row
    
    
    i = 3
    
    Cells(1, 3) = "TERNI"
    Cells(1, 4) = "USCITE"
    
    'Ambi
    
    For rig = 14 To urig
            
        For Tern = 8 To 10
            
            If Cells(rig, 6).Value > Cells(rig, Tern).Value Then
            Terno = Cells(rig, 6).Value & " - " & Cells(rig, Tern).Value
            Else
            Terno = Cells(rig, Tern).Value & " - " & Cells(rig, 6).Value
            End If
            
            Set xxx = Range("C:C").Find(Terno, lookat:=xlWhole)
            If xxx Is Nothing Then
            Cells(i, 3) = Terno
            Cells(i, 4) = 1
            i = i + 1
            Else
            xxx.Offset(, 1).Value = xxx.Offset(, 1).Value + 1
            End If
            
        
        Next Tern
        
    Next rig
    
    Columns("C:D").Select
            Selection.Sort Key1:=Range("D1"), Order1:=xlDescending, Header:=xlGuess, _
            OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
            DataOption1:=xlSortNormal
    Range("C1").Select
    Terno = [C2]
    
    Application.Wait Now + TimeValue("00:00:01")
    
    
    'Range("C:D").ClearContents
    MsgBox "Il terno più frequente è il " & Terno & ""
    
    End Sub
    
    



  • di Antonio (utente non iscritto) data: 11/11/2013 17:26:23

    Scusa, volevo dire mi trova 3 ambi, per far trovare il terno cosa dovrei modificare?



  • di totygno (utente non iscritto) data: 11/11/2013 19:11:43

    il codice l'ho già scritto stamattina in uff.
    domani appena posso te lo posto... in quel posto.... ^_^ ....
    ehm....cioè te lo "pongo" in allegato... alla discussione... e te lo commento pure così capisci la logia che ho usato!
    Cosi può andrti bene????



  • di Antonio (utente non iscritto) data: 11/11/2013 19:12:00

    Ho appena notato che il tuo codice per trovare gli ambi trova per ogni riga 9 ambi invece di 10. Praticamente con 5 numeri si possono avere sia 10 ambi che 10 terni. L'ambo che non trova è quello che si forma con il quarto e quinto numero di ogni riga che sarebbero le colonne G H. Come si può rimediare?



  • di totygno (utente non iscritto) data: 11/11/2013 19:28:53

    Raggione hai...
    ecco la modifica
     
    Sub trombolo()
    Dim ambo As String, ramb As Integer
    Dim rig As Integer, urig As Long
    Dim i As Long
    Dim rng As Range, c As Range, xxx As Range
    Set rng = Range("D14:H621")
    
    Range("A:B").ClearContents
    
    'For Each c In rng
    'c.Value = Int((90 - 1 + 1) * Rnd + 1)
    'Next c
    
    urig = Range("H" & Rows.Count).End(xlUp).Row
    
    
    i = 2
    
    Cells(1, 1) = "AMBI"
    Cells(1, 2) = "USCITE"
    
    'Ambi
    
    For rig = 14 To urig
            
        For ramb = 5 To 8
            
            If Cells(rig, 4).Value > Cells(rig, ramb).Value Then
            ambo = Cells(rig, 4).Value & "_" & Cells(rig, ramb).Value
            Else
            ambo = Cells(rig, ramb).Value & "_" & Cells(rig, 4).Value
            End If
            
            Set xxx = Range("A:A").Find(ambo, lookat:=xlWhole)
            If xxx Is Nothing Then
            Cells(i, 1) = ambo
            Cells(i, 2) = 1
            i = i + 1
            Else
            xxx.Offset(, 1).Value = xxx.Offset(, 1).Value + 1
            End If
            
        Next ramb
    
        For ramb = 6 To 8
    
            If Cells(rig, 5).Value > Cells(rig, ramb).Value Then
            ambo = Cells(rig, 5).Value & "_" & Cells(rig, ramb).Value
            Else
            ambo = Cells(rig, ramb).Value & "_" & Cells(rig, 5).Value
            End If
            
            Set xxx = Range("A:A").Find(ambo, lookat:=xlWhole)
            If xxx Is Nothing Then
            Cells(i, 1) = ambo
                    Cells(i, 2) = 1
    
            i = i + 1
            Else
            xxx.Offset(, 1).Value = xxx.Offset(, 1).Value + 1
            End If
        
        Next ramb
    
        For ramb = 7 To 8
            If Cells(rig, 6).Value > Cells(rig, ramb).Value Then
            ambo = Cells(rig, 6).Value & "_" & Cells(rig, ramb).Value
            Else
            ambo = Cells(rig, ramb).Value & "_" & Cells(rig, 6).Value
            End If
            
            Set xxx = Range("A:A").Find(ambo, lookat:=xlWhole)
            If xxx Is Nothing Then
            Cells(i, 1) = ambo
                    Cells(i, 2) = 1
    
            i = i + 1
            Else
            xxx.Offset(, 1).Value = xxx.Offset(, 1).Value + 1
            End If
                    
        Next ramb
        
        If Cells(rig, 7).Value > Cells(rig, 8).Value Then
            ambo = Cells(rig, 7).Value & "_" & Cells(rig, 8).Value
            Else
            ambo = Cells(rig, 8).Value & "_" & Cells(rig, 7).Value
            End If
            
            Set xxx = Range("A:A").Find(ambo, lookat:=xlWhole)
            If xxx Is Nothing Then
            Cells(i, 1) = ambo
                    Cells(i, 2) = 1
    
            i = i + 1
            Else
            xxx.Offset(, 1).Value = xxx.Offset(, 1).Value + 1
            End If
        
    Next rig
    
    'Columns("A:B").Select
     '       Selection.Sort Key1:=Range("B1"), Order1:=xlDescending, Header:=xlGuess, _
      '      OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
       '     DataOption1:=xlSortNormal
    'Range("A1").Select
    'ambo = [A2]
    
    
    
    'MsgBox "L'Ambo più frequente è il " & ambo & "! Glia altri rimarranno un segreto! ^_^"
    
    End Sub
    



  • di Antonio (utente non iscritto) data: 11/11/2013 22:15:01

    Mi va benissimo con i commenti e quindi ti ringrazio anticipatamente del codice. Ho visto la modifica per il decimo ambo. Ma i puffi in tutto erano soltanto un centinaio, giusto? ^_^



  • di totygno71 (utente non iscritto) data: 12/11/2013 08:43:39

    Come promesso il file con ambo e terno, anche se non ci sono i commenti...
    Se hai bisogno di info chiedi pure.



  • di totygno (utente non iscritto) data: 12/11/2013 19:28:32

    Antononuccio mi hai sedotto e abbandonato con i sui ambi e terni



  • di Vecchio Frac data: 12/11/2013 20:54:45

    L'ho detto io che il forum sta diventando un luogo per cuori solitari o infranti... ops smetto qui altrimenti patel mi rimprovera di nuovo ^_^





  • di Antonuccio (utente non iscritto) data: 12/11/2013 21:24:18

    @totygnolo
    Stavo studiando il tuo bellissimo file e diciamo che non ho capito soltanto due/trecento cose ^_^ Te ne chiedo solo una: qual'è la parte di codice che conta gli ambi in C1? Poi vorrei fare questo: in F8 ho la formula che mi restituisce le coordinate della prima cella piena in D e cioè D14 mentre in F9 la formula che mi trova le coordinate dell'ultima cella piena in H e cioè H621. Devo modificare quel rigo di codice dove dice:
    Set rng = Range("D14:H621")
    in questo modo:
    Set rng = Range([F8]:[F9])
    ma mi da errore? Dove sbaglio? Ti auguro una santa notte



  • di totygno (utente non iscritto) data: 12/11/2013 21:36:27

    1. Set rng = Range("D14:H621") lo pui togliere non serve ad una mazza ^_^ nel codice è gia previsto di calcolare gli eventuali altri numeri che inserirari sotto... fai una prova e vedrai... quindi F8 ed F9 sono inutili.
    2,cit"qual'è la parte di codice che conta gli ambi in C1???
    La formula è in C1_ ^_^ selezionala e vedrai questa formula
    =SOMMA(B:B) ^_^

    Ora vado a fare una santa nanna sperando di non affrontare più queste tematiche in futuro! U_U

    PS Essere chiamato Totygnolo mi offende assai



  • di Antonio (utente non iscritto) data: 12/11/2013 22:02:23

    Di nuovo te la sei presa! Ho aggiunto un "lo" come fai di solito tu ^_^ Giuro che non lo faccio più! Poi tu mi chiamato Antonuccio, avrei preferito Antonello, Tonino! Ti ringrazio per le spiegazioni, in effetti non ci avevo fatto caso che in C1 c'era la formula =SOMMA!
    Set rng = Range([F8]:[F9]) hai detto che non serve a nulla, ma sono curioso di sapere perché mi dà l'errore. A domani



  • di Vecchio Frac data: 12/11/2013 22:09:28

    E' la prima volta che vedo Totygno picchiarsi con qualcuno... Antò, forse gli piaci un sacco, di solito non risponde mai così a nessuno, ma tu lo hai colpito davvero ^_^





  • di Antonio (utente non iscritto) data: 13/11/2013 07:46:04

    Buondì. Spero di averlo solo colpito e non affondato! ^_^ Totygno l'Over The Top di Excel, un patrimonio mondiale dell'umanità va tenuto caro caro. Vediamo al prossimo PS cosa scrive ^_^



  • di Antonio (utente non iscritto) data: 13/11/2013 07:50:31

    Buondì. Spero di averlo solo colpito e non affondato! ^_^ Totygno l'Over The Top di Excel, un patrimonio mondiale dell'umanità va tenuto caro caro. Vediamo al prossimo PS cosa scrive ^_^



  • di totygno71 (utente non iscritto) data: 13/11/2013 08:39:59

    cit"Set rng = Range([F8]:[F9]) hai detto che non serve a nulla, ma sono curioso di sapere perché mi dà l'errore.

    Perchè è scritto male... meglio sarebbe Range("F8:F9")... Cmq ripeto che non serve in questo caso lo avevo messo perchè all'inizio pensavo che i dati non sarebbero variati, poi leggendo mi sono accorto che chiedevi di aggiungere sotto le nuove estrazioni man mano che uscivano e quindi il codice l'ho modificato in itinere dimenticandomi di cancellare la variabile rng.

    PS AnTONNO carissimo ora me so scocciat quindi spunta su discussione risolta e chiudiamo sto topic. ^_^



  • di Antonio (utente non iscritto) data: 13/11/2013 09:31:51

    L'ultimissima cosa:

    For rig = 14 To urig

    con questo codice vuol dire che dalla riga 14 inizia a "smanettare" in cerca di ambi o terni nelle colonne D E F G H, ma poi a quale riga si ferma? Si dovrebbe fermare alla 621, ma dove sta scritto? E perché?



  • di Antonio (utente non iscritto) data: 13/11/2013 09:41:00

    Range ("F8:F9") ti calcola effettivamente F8:F9 mentre io in F8 ho come valore D14 ed in F9 H621. Ho capito che in questo caso non serve ma vorrei sapere come si scrive ciò in vba. So che le celle vanno messe in parentesi quadre però sbaglio qualcosa.



  • di totygno71 (utente non iscritto) data: 13/11/2013 09:47:10

    Sei una pettola!!!
     
    'determino l'ultima riga piena della colonna "H"
    urig = Range("H" & Rows.Count).End(xlUp).Row
    
    For rig = 14 To urig
    
       'esegue istruzioni a partire dalla riga 14 sino a urig (ultima riga piena)
    
    next rig



  • di Antonio (utente non iscritto) data: 13/11/2013 09:57:30

    Ora questo l'ho capito.

    Set rng = Range([F8]:[F9])

    questo come va corretto? Poi giuro che spunto risolto.



  • di totygno71 (utente non iscritto) data: 13/11/2013 10:57:36

    Strana richiesta la tua... ma oramai...
    La sub sotto ti seleziona l'intero range definito dai valori immessi nelle celle F8 ed F9_ ^_^
     
    Sub petolo()
    On Error GoTo error
     Dim rng1 As Range
     Dim ind1 As String, ind2 As String
      
     ind1 = [F8].Value
     ind2 = [F9].Value
     
     Set rng1 = Range(ind1, ind2)
    
     rng1.Value = "Antonno Petolo"
    Cells.EntireColumn.AutoFit
    
     
     Exit Sub
    
    error:  MsgBox "valore non compatibile"
    
    End Sub



  • di totygno71 (utente non iscritto) data: 13/11/2013 11:01:34

    Dimenticavo... fidarsi è bene, fidarsi non è meglio... (come dice erroneamente mia suocera) quindi...
    Spunto io su risolta U_U



  • di Antonio (utente non iscritto) data: 13/11/2013 11:39:04

    Sinceramente non ho capito a cosa ti riferisci con il fidarsi! Hai aggirato il problema del range con una macro, secondo me ci deve essere un modo per farlo come l'ho scritto io solo che io di vba ne capisco pochissimo e mi da l'errore, comunque va bene. Ti ringrazio di avermi "sopportato" ^_^ Tante belle cose



  • di totygno71 (utente non iscritto) data: 13/11/2013 11:41:07

    Errore dove?
    Ho risposto alla tua domanda mi pare.



  • di totygno71 (utente non iscritto) data: 13/11/2013 11:53:18

    Prova il file allegato



  • di Antonio (utente non iscritto) data: 13/11/2013 11:57:27

    L'errore che mi da a quello che ho scritto io e non tu e cioè:

    Set rng = Range([F8]:[F9])

    Io l'ho risolto parzialmente così:

    Set rng = Range ([F8] & ":H621")

    sostituire H621 con [F9] non sono riuscito però.



  • di totygno71 (utente non iscritto) data: 13/11/2013 12:13:32

    ma tu vuoi che come range prenda i valori contenuti in F8 ed F9 giusto?



  • di Antonio (utente non iscritto) data: 13/11/2013 13:19:00

    Esattamente! L'F8 ci sono riuscito mentre l'F9 no.



  • di totygno71 (utente non iscritto) data: 13/11/2013 13:58:37

    Non può funzionare il tuo codice perchè per vba range([F8] significa la cella [F8] e non il suo valore.
    Se provi il mio file allegato e nelle celle F8 ed F9 inserisci due range a tua scelta esempio A1 ed A10 vedrai che il tutto funziona.



  • di Antonio (utente non iscritto) data: 13/11/2013 14:51:54

    Su questa cosa mi sa che ti stai sbagliando in quanto ho degli esempi concreti funzionanti. Per restare nel tuo file dell'ambo ti faccio un esempio:

    For rig = 14 To urig

    For rig = [G8] To urig

    in G8 ho il numero 14, quindi questi 2 righi di codice sono uguali. Questo rigo pure funziona:

    Set rng = Range ([F8] & ":H621")

    In F8 ho D14, io non riesco a inserire entrambi gli intervalli, mi da errore e non so come va sistemato.



  • di Vecchio Frac data: 13/11/2013 17:11:27

    Intervengo altrimenti non vi capite :)

    @Antonio
    cit. "Set rng = Range([F8]:[F9]) "
    ---> non funziona, è una notazione sbagliata. Le parentesi quadre se riferite a un range si leggono già come "Range(...)"; quindi se scrivo [F8] è già come scrivere Range("F8").
    Pertanto o usi Range o usi le quadre:
    Set rng = [F8:F9]
    oppure
    Set rng = Range("F8:F9")
    ma non un mix di entrambi.

    Il problema è lì e soltanto lì ^_^

    p.s.
    cit. "Questo rigo pure funziona: Set rng = Range ([F8] & ":H621") "
    ---> non è possibile, deve dare e dà errore :)





  • di Antonio (utente non iscritto) data: 13/11/2013 17:33:50

    A me quest'ultimo rigo non mi da errore mentre quell'altro si, appena provo il tuo e cioè Set rng = [F8:F9] ti faccio sapere.



  • di Antonio (utente non iscritto) data: 13/11/2013 21:48:20

    @Vecchio Frac
    Ho provato sia il tuo codice che di nuovo il mio è non mi dà errore. Ora vi saluto e grazie ancora



  • di gaetanopr (utente non iscritto) data: 13/11/2013 23:11:56

    Sono d'accordo con Antonio sul funzionamento del codice, un pò insolito ma funzionante
    Set Rng = Range([F8] & ":H621") è come scrivere
    Set Rng = Range(Evaluate("F8") & ":H621")

    se in F8 scriviamo D14 come dice Antonio, viene valutato il valore in F8 e restituisce :

    " Set Rng = Range("D14:H621") "

    Saluti



  • di gaetanopr (utente non iscritto) data: 13/11/2013 23:23:30

    @Antonio
    cit>>Esattamente! L'F8 ci sono riuscito mentre l'F9 no.
    Set rng = Range([F8]:[F9])

    cambia in questo modo

    Set Rng = Range([F8] & ":" & [F9])



  • di Antonio (utente non iscritto) data: 14/11/2013 07:16:49

    Sapevo che come lo avevo scritto io era sbagliato ma non sapevo come correggere. Grazie Gaetano