Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [VBA] - Chiudi cella dopo doppio click

    Salve a tutti. Ho un piccolo problema con VBA.
    Devo fare una cosa semplicissima: con un doppio click del mouse voglio che nella cella compaia una "x".
    Fin qui niente di difficile. Ma dopo che viene inserita la "x" come faccio a chiudere la modalità di inserimento nella cella?
    L'unica soluzione che mi è venuta in mente è quella di mandare la selezione da un'altra parte con cells(riga, col).select ma se voglio che rimanga selezionata la cella di origine come devo fare?
    Grazie

    CODICE
    -------
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    Dim col As Integer
    Dim riga As Integer

    riga = Target.Row
    col = Target.Column

    If col = 2 Then
    If ActiveCell = "" Then
    ActiveCell = "x"
    Else
    ActiveCell = ""
    End If
    Cells(riga, 3).Activate
    Exit Sub
    End If

    End Sub

  2. #2
    Il problema è ke vuoi che se ci riclicchi non metta la x?
    Non si è capito bene, spiegati meglio

  3. #3
    Il problema è che se faccio doppio click sulla cella oltre ad eseguire la macro, si apre la modadità modifica contenuto della cella.
    Il risultato è che dopo il doppio click, si inserisce la x e poi rimane il cursore lampeggiante accanto alla x.
    Da tastiera basterebbe premere INVIO o ESC ma da VBA non so come fare.

  4. #4
    aaah capito
    Prova così
    Range("A1").select
    Target.select

  5. #5

    Re: [VBA] - Chiudi cella dopo doppio click

    Originariamente inviato da sergioconsoli
    Salve a tutti. Ho un piccolo problema con VBA.
    Devo fare una cosa semplicissima: con un doppio click del mouse voglio che nella cella compaia una "x".
    Fin qui niente di difficile. Ma dopo che viene inserita la "x" come faccio a chiudere la modalità di inserimento nella cella?
    L'unica soluzione che mi è venuta in mente è quella di mandare la selezione da un'altra parte con cells(riga, col).select ma se voglio che rimanga selezionata la cella di origine come devo fare?
    Grazie

    CODICE
    -------
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    Dim col As Integer
    Dim riga As Integer

    riga = Target.Row
    col = Target.Column

    If col = 2 Then
    If ActiveCell = "" Then
    ActiveCell = "x"
    Else
    ActiveCell = ""
    End If
    Cells(riga, 3).Activate
    Exit Sub
    End If

    End Sub
    Ciao !

    Basta che, anziche' spostare la cella attiva con:
    Cells(riga, 3).Activate
    imposti la "cancellazione" dell'evento doppio-click, con un semplice:
    Cancel = True
    (al posto della riga prima citata)

    Bye.
    IceCube_HT (VB6 fan Club)

  6. #6
    Funziona... grazie!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.