problemi con macro excel



  • problemi con macro excel
    di paglia 2017 (utente non iscritto) data: 12/12/2017 18:07:19

    Ciao a tutti,

    Qualcuno mi potrebbe dare una mano ?

    Avevo due macro per il Worksheet_BeforeDoubleClick, che separatamente funzionano.
    Ecco il discorso è che ho provato a metterle insieme ma ne funziona solo una.(la prima parte che con range "c:h" )
    Immagino ci sia qualche conflitto, perchè se inverto ,funziona solo la prima parte

    Grazie in anticipo
     
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim myArea As String, Rispo, myMatch
    '
    miofoglio = "Foglio 2" '<<



  • di alfrimpa data: 12/12/2017 18:13:44

    Allega un file di esempio con la macro complketa spiegando quello che vuoi fare.

    Alfredo





  • di paglia 2017 (utente non iscritto) data: 12/12/2017 18:49:15

    Ho allegato il file


    si riesce a capire?

    ed ecco le due macro in origine separate.

    jim
     
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim myArea As String, Rispo, myMatch
    '
    miofoglio = "Foglio 2" '<<



  • di patel data: 12/12/2017 19:46:41

    io vedo 2 macro uguali e nessuna spiegazione





  • di paglia 2017 (utente non iscritto) data: 13/12/2017 01:18:45

    Ciao,

    avevo provato a mandare le due macro, scusatemi, però non si visualizzano, ora ci riprovo.

    In pratica una attiva un cronometro facendo un doppio click su una cella fra "B1;C1......fino a H!" a secondo di quello che vuoi fare,(se si vede almeno l'allegato basta leggere la descrizione delle caselle nella prima riga).
    Questo doppio click lo esegui solo sulla prima riga, e ti si apre una finestrella che ti da la possibilità di digitare uno dei numeri che in tabella si trovano nella colonna "A". una volta digitati uno o piu numeri , la tabella si aggiorna portando in cima i valori e tutta la riga, seguendo cosa riferisce il cronometro che parte sempre alla digitazione del numero.
    La seconda fa sempre partire un cronometro,e sempre avviene la disposizione in tabella come scritto sopra, però basta fare solo il doppio click su la cella che si desidera attivare,sempre in virtu delle descrizioni in cima.
    il problema è che entrambe ,anche se funzionanti singolarmente, quando le ho provate ad unire non ne funziona una.
    Il desiderio sarebbe quello di avere la prima,cioè con la finestrella ,per capirsi, che agisca solo per la colonna "B", perchè utile che richiama i numeri in cima, mentre la seconda d'applicare alle altre colonne perchè piu veloce in quanto ,basta il semplice doppio click per attivarle.
     
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim myArea As String, Rispo, myMatch
    '
    miofoglio = "Foglio 2" '<<



  • di paglia 2017 (utente non iscritto) data: 13/12/2017 01:23:27

    st provando a mandare le macro copiandole nello spazio sotto, ma ho notato, che per quanto le copi per intero, poi dopo si vede solo l'inizio.

    Sto sbagliando qualcosa

    jim



  • di paglia 2017 (utente non iscritto) data: 13/12/2017 01:31:59

    chrome mi blocca il processo d'invio, nel senso che se mando il messaggio senza passare dall'anteprima, ne fa vedere solo una parte, se invece passo dall'anteprima,mi blocca dicendo che ci sono dati sensibili. bohhh.

    cmq allego i due file delle rispettive macro.



  • di patel data: 13/12/2017 08:25:25

    prova questa
     
    Private Sub Worksheet_BeforeDoubleClick1(ByVal Target As Range, Cancel As Boolean)
    Dim myArea As String, Rispo, myMatch
    If Range("Z1") = 0 Then Range("Z1").Value = 10: Call oneSec
    
    If Not Application.Intersect(Target, Application.Intersect(Range("B:H"), Range("A:A"))) Is Nothing Then
        Cancel = True
        Rispo = Application.InputBox("Numero del tavolo:", "Tavolo?", , , , , , 1)
        If Rispo = False Then Exit Sub
        myMatch = Application.Match(Rispo, Range("A:A"), 0)
        If Not IsError(myMatch) Then
            Cells(myMatch, Target.Column) = Now - Int(Now)
        End If
        Call disposizionevalori
    ElseIf Not Application.Intersect(Target, Range("B:I")) Is Nothing Then
        Cancel = True
        Target.Value = Now - Int(Now)
    End If
    
    End Sub






  • di paglia 2017 data: 13/12/2017 21:43:06

    Grazie patel,

    ieri ho trovato la soluzione!
    ho fatto mattinata ma ci sono riuscito

    grazie ancora

    jim