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

    Puntatore in una cella di una tabella excel

    Salve a tutti,
    da operatore di excel assolutamente inesperto, chiedo come è possibile posizionarsi con il puntatore in una cella di una tabella utilizzando VB
    In particolare, la tabella contiene dei codici, degli articoli e devo inserire il numero in una terza colonna.
    Se ho il codice in un altro campo, come posso creare un collegamento che da quel codice il puntatore vada a posizionarsi nella cella relativa alla colonna numero di quell'articolo?
    Grazie.

  2. #2
    ChromeOS.eu tutto su Chrome OS!
    HTML5 Answer Il 3D nel browser è arrivato! Sviluppa la tua app 3D per il browser!

  3. #3
    Beh, forse Alex non ha voglia di studiarsi tutto il VBA.

    Mi spieghi meglio qual è la tua esigenza?

    In particolare:
    - cosa intendi con "posizionarsi con il puntatore in una cella"? Vuoi che la freccetta ci si posizioni sopra? O vuoi che la cella venga selezionta?
    - che significa "ho il codice in un altro campo"? Quale campo? Dove si trova? In un altro file? O stai parlando della prima colonna?

    Insomma, non ho capito il problema.

    Ciao
    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

  4. #4
    Ciao, hai indovinato sul fatto che non voglio studiare tutto il VBA.
    Cerco di spiegarmi meglio.
    1) Vorrei che la cella fosse selezionata;
    2) Il codice che individuo si trova in un foglio di lavoro;
    3) In un foglio di lavoro diverso, ma nello stesso file, ho una tabella dove nella prima colonna ci sono tutti i codici, nella seconda la descrizione e nella terza il dato da inserire manualmente.
    Ciao e grazie.

  5. #5
    Allora, se ho capito bene, tu hai una situazione di questo genere:



    codice:
    
    Foglio1:
    
    Cod_1
    Cod_2
    Cod_3
    Cod_4
    Cod_5
    
    
    
    Foglio2
    
    Cod_1      Mele      10
    Cod_2      Pere       5
    Cod_3      Susine    18
    Cod_4      Pesche    22
    Cod_5      Noci       7


    E vuoi che cliccando, ad esempio, sul Cod_3 del primo foglio ti si apra il secondo foglio con, selezionata, la casella che contiene il 18


    Se quello che ho capito è corretto questo dovrebbe essere ciò che ti occorre:

    Private Sub CommandButton1_Click()
    Dim valore, c
    valore = ActiveCell.Value
    Worksheets("Foglio2").Activate
    With Range("a1:a10")
    Set c = .Find(valore, LookIn:=xlValues)
    End With
    Worksheets("Foglio2").cells(c.Row, c.Column + 2).Select
    End Sub


    Anche se è piuttosto elementare te lo spiego per aiutare eventuali altri lettori poco esperti.

    - ActiveCell.Value preleva il valore della cella che hai selezionato (Cod_3) e lo assegna alla variabile valore
    - Worksheets("Foglio2").Activate attiva il secondo foglio
    - With Range("a1:a10") determina il range di ricerca
    - Set c = .Find(valore, LookIn:=xlValues) individua la cella contenete il codice cercato
    - Worksheets("Foglio2").cells(c.Row, c.Column + 2).Select seleziona la cella che si trova nella stessa riga ma due colonne più a destra di quella trovata.

    Chiaramente tutto questo codice va associato ad un pulsante da inserire nel foglio utilizzando la barra degli strumenti Visual Basic.


    Era quello che ti serviva?



    Ciao
    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

  6. #6
    Sì grazie. Era proprio quello che cercavo. Adesso applico.

  7. #7
    Ciao

    il codice che ho postato era un po' grezzo perché non sapevo esattamente di cosa avessi bisogno, questo va meglio (ho aggiunto un paio di controlli e ho tolto un lookin che era rimasto da un copia/incolla):



    codice:
    Private Sub CommandButton1_Click()
       Dim valore, c
       valore = ActiveCell.Value
       If valore = "" Then
          MsgBox ("Selezionare un valore")
       Else
          Worksheets("Foglio2").Activate
          With Range("a1:a10")
             Set c = .Find(valore)
          End With
          If c Is Nothing Then
             Worksheets("Foglio1").Activate
             MsgBox ("Valore non trovato")
          Else
             Worksheets("Foglio2").cells(c.Row, c.Column + 2).Select
          End If
       End If
    End Sub

    Ciao
    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

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.