Problema beforedoubleclick e Scroll



  • Problema: beforedoubleclick & Scroll
    di Raffaele53 data: 17/02/2016 16:45:10

    Ciao a tutti
    Avrei due problematiche.

    1)Con Application.Goto Reference:=Range("aa2996"), Scroll:=True
    Visualizzo la cella sul monitor in alto a sinistra
    Esiste la possibilità di spostarlo solo sulla sinistra, ma non in alto?

    2)Sub worksheet_beforedoubleclick
    Dovrei inserire 100 colonne in If Not Intersect(target, Range("A:A,U:U,AO:AO,BI:BI, ecc ecc
    Finche ne metto 42 funziona, mà oltre non funziona errore
    Ci sarebbe un'altro modo

    Grazie mille



  • di Marius44 data: 17/02/2016 22:14:19

    Ciao Raffaele

    punto 1 - con quell'istruzione la posiziona sempre in alto a sinistra. Puoi calcolarti uno scroll da applicare dopo l'istruzione e farla apparire dove ti pare.

    punto 2 - probabilmente il problema è che l'inserimento parte da sinistra e, quindi, ad ogni inserimento "cambia" il numero (o la lettera di riferimento) della colonna. Non saprei se è possibile nel tuo caso ma dovresti partire all'incontrario (cioè indicare l'intervallo iniziando dalla fine e non da A:A).

    Oppure non ho capito nulla.
    Ciao,
    Mario



  • di Raffaele53 data: 18/02/2016 08:25:51

    Ciao
    1) Ho risolto come hai detto
    2) Anche invertendo non funziona (comunque ho risolto con una moltiplicazione, dato che le colonne erano distanziate di 10 ciascuna)
    Grazie lo stesso



  • di scossa data: 18/02/2016 13:31:57

    Ciao Raffaele,

    cit.: "Dovrei inserire 100 colonne in If Not Intersect(target, Range("A:A,U:U,AO:AO,BI:BI, ecc ecc "

    Seleziona le tue cento colonne (una ad una tenendo premuto il tasto CTRL) ed assegna un nome alla selezione (p.e.: "cento")
    Poi adatta il codice sotto.

    scossa's web site
    Se tu hai una mela, ed io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee.
    (George Bernard Shaw)

     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      If Not Intersect(Target, [cento]) Is Nothing Then
        MsgBox Target.Address & " interseca il range"
      Else
        MsgBox Target.Address & " NON interseca il range"
      End If
    End Sub
    



  • di Raffaele53 data: 18/02/2016 16:40:57

    Dovevo fare il range "A22:A20000" per 100 colonne.
    Ho fatto una piccola macro che mi conponeva la stringa.
    Era troppo lunga nel codice me la manda accapo in rosso. Allora ho tolto le righe e mettevo A:A,B:B ecc ecc e viene accettata (errore all'esecuzione)

    Magari era ancora lunga di (caratteri), sono arrivato a 43/44 colonne funzionanti, ho rimesso le righe e funziona.
    Pertanto non sono i (caratteri), mà sicuramente troppe le condizioni per il VBA.
    Comunque grazie, ho imparato un'altra cosa.