Risultati da 1 a 20 di 20

Discussione: Trovare prima cella libera in un intervallo formattato come tabella



  1. #1
    L'avatar di mirko.esposito
    Clicca e Apri
    Data Registrazione
    Apr 2016
    Località
    Milano
    Messaggi
    49
    Versione Office
    2016 MAC
    Mi Piace ricevuti
    2
    Mi Piace dati
    1

    Question Trovare prima cella libera in un intervallo formattato come tabella

    Ciao ragazzi, in un progetto VBA ho la necessità di trovare la prima cella vuota in un intervallo formattato come tabella in quanto con il classico Rows.Count trova la prima cella libera dopo la tabella. Cercando online e provando alcune soluzioni non ne sono venuto a capo. Vi allego il codice qui sotto: Sub miasub() Range("D7:H7").Copy Sheets(Range("B7").Value).Select uriga = Range("A" & Rows.Count).End(xlUp).Row + 1 End Sub

  2. #2
    L'avatar di dracoscrigno
    Clicca e Apri
    Data Registrazione
    May 2016
    Località
    ferrara
    Età
    40
    Messaggi
    739
    Versione Office
    office pro 2010
    Mi Piace ricevuti
    184
    Mi Piace dati
    111

    Re: Trovare prima cella libera in un intervallo formattato come tabella

    vuoi cercare una cella vuota all interno della tabella oppure aumentare la tabella di un record (la prima riga successiva alla tabella).

    allega un file xlsM con una tabellina e qualche record che simuli il tuo quesito.

  3. #3
    L'avatar di alfrimpa
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Napoli
    Età
    63
    Messaggi
    2518
    Versione Office
    2007 - 2013
    Mi Piace ricevuti
    351
    Mi Piace dati
    51

    Re: Trovare prima cella libera in un intervallo formattato come tabella

    Forse può essere utile dare uno sguardo a questa discussione

    http://www.forumexcel.it/forum/7-dom...lapienatabella
    Alfredo

    "Non esistono cose facili o difficili; esistono cose che si sanno e cose che non si sanno"
    Cit. Berna11: "Se ti piace la risposta di qualcuno, oltre a ringraziarlo, puoi cliccare su "Mi Piace" in basso a sinistra del loro messaggio."

  4. #4
    L'avatar di mirko.esposito
    Clicca e Apri
    Data Registrazione
    Apr 2016
    Località
    Milano
    Messaggi
    49
    Versione Office
    2016 MAC
    Mi Piace ricevuti
    2
    Mi Piace dati
    1

    Re: Trovare prima cella libera in un intervallo formattato come tabella

    Citazione Originariamente Scritto da dracoscrigno Visualizza Messaggio
    vuoi cercare una cella vuota all interno della tabella oppure aumentare la tabella di un record (la prima riga successiva alla tabella).

    allega un file xlsM con una tabellina e qualche record che simuli il tuo quesito.
    Ho bisogno di trovare la prima cella vuota all'interno della colonna C della tabella...
    La macro è registrata come "inserimentonuovoassegno"
    File Allegati File Allegati

  5. #5
    L'avatar di dracoscrigno
    Clicca e Apri
    Data Registrazione
    May 2016
    Località
    ferrara
    Età
    40
    Messaggi
    739
    Versione Office
    office pro 2010
    Mi Piace ricevuti
    184
    Mi Piace dati
    111

    Re: Trovare prima cella libera in un intervallo formattato come tabella

    nel post linkato da alfrimpa, verso la fine del thread dovrebbe esserci un mio intervento dove dovrei averlo gia detto.

    provo a scriverlo a memoria dal cell.

    Codice: 
    with foglio1.listobjects("tabella1").range
             .cells(1, NumColonna).And(XlDown)
    End With

    dove per
    Foglio1 dovrai sostituire con il tuo foglio
    tabella1 dovrai sostiture con la tua tabella
    num colonna con il numero della colonna che ti interessa nella tua tabella (1 per la prima colonna della tabella, 2 per la seconda della tabella e così via).

  6. #6
    L'avatar di patel
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Livorno
    Età
    71
    Messaggi
    673
    Versione Office
    2010
    Mi Piace ricevuti
    89
    Mi Piace dati
    1

    Re: Trovare prima cella libera in un intervallo formattato come tabella

    il codice di dracoscrigno funziona se non ci sono righe intermedie vuote, io conosco questi modi dove table è il nome della tabella:
    Codice: 
    Sub lastrow()
    Lr1 = [table].Cells([table].Rows.Count, 1).End(xlUp).Row
    Lr2 = Cells(Rows.Count, 1).End(xlUp).End(xlUp).Row
     With [table]
        Lr3= .Find("*", LookIn:=xlValues, after:=.Cells(1, 1), SearchDirection:=xlPrevious).Row
    End With
    End Sub

  7. #7
    L'avatar di mirko.esposito
    Clicca e Apri
    Data Registrazione
    Apr 2016
    Località
    Milano
    Messaggi
    49
    Versione Office
    2016 MAC
    Mi Piace ricevuti
    2
    Mi Piace dati
    1

    Re: Trovare prima cella libera in un intervallo formattato come tabella

    Grazie per le risposte; nel cao di dracoscrigno mi restituisce l'errore "Necessario oggetto"

  8. #8
    L'avatar di mirko.esposito
    Clicca e Apri
    Data Registrazione
    Apr 2016
    Località
    Milano
    Messaggi
    49
    Versione Office
    2016 MAC
    Mi Piace ricevuti
    2
    Mi Piace dati
    1

    Re: Trovare prima cella libera in un intervallo formattato come tabella

    Nel caso del codice di Patel, vba mi seleziona una cella al centro della tabella che non è vuota. Non mi seleziona dunque la prima vuota

  9. #9
    L'avatar di dracoscrigno
    Clicca e Apri
    Data Registrazione
    May 2016
    Località
    ferrara
    Età
    40
    Messaggi
    739
    Versione Office
    office pro 2010
    Mi Piace ricevuti
    184
    Mi Piace dati
    111

    Re: Trovare prima cella libera in un intervallo formattato come tabella

    Citazione Originariamente Scritto da patel Visualizza Messaggio
    il codice di dracoscrigno funziona se non ci sono righe intermedie vuote...

    Citazione Originariamente Scritto da mirko.esposito Visualizza Messaggio
    Ciao ragazzi, in un progetto VBA ho la necessità di trovare la prima cella vuota in un intervallo formattato come tabella...

    Forse che è proprio quello che si cerca di fare?

    Scusami Patel. Ma in questa tabella, che risultato attenderesti dal listato che proponi?


    Excel 2010 32 bit
    E
    F
    G
    H
    I
    J
    3
    Id Colonna1 Colonna2 Colonna3 Colonna4 Colonna42
    4
    1
    F4 G4 H4 I4 J4
    5
    2
    F5 G5 H5 I5 J5
    6
    3
    F6 G6 H6 I6 J6
    7
    4
    F7 G7 H7 I7 J7
    8
    5
    F8 G8 H8 I8 J8
    9
    6
    F9 G9 H9 I9 J9
    10
    7
    F10 G10 H10 J10
    11
    8
    F11 G11 J11
    12
    9
    F12 J12
    13
    10
    J13
    14
    J17
    15
    J18
    16
    J19
    Sheet: Foglio1

    Rieditando: Dimenticavo di dire che la riga 14, 15 e 16 non sono parte della tabella


    Perchè io ho capito quello che si vede in questo allegato:


    E comunque, di una tabella, per conoscere la sua ultima riga non c'è bisogno di cercarla, perchè è gia definita attraverso l' utilizzo delle sue proprietà come range

    Codice: 
    ' Ultimo campo dell' ultimo record
    With Foglio1.ListObjects("Tabella1").Range
         .Cells(.Rows.Count, .Columns.Count).Select
    End With
    
    'Primo campo dell' ultimo record
    With Foglio1.ListObjects("Tabella1").Range
         .Cells(.Rows.Count, 1).Select
    End With
    
    'Primo campo del primo record
    With Foglio1.Range("Tabella1")
         .Cells(1, 1).Select
    End With
    
    'Ultimo campo del primo record
    With Foglio1.Range("Tabella1")
         .Cells(1, .columns.count).Select
    End With
    Ultima modifica fatta da:dracoscrigno; 05/10/16 alle 18:49 Motivo: aggiunto frase marcata con Riedit

  10. I seguenti utenti hanno dato un "Mi Piace"


  11. #10
    L'avatar di patel
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Livorno
    Età
    71
    Messaggi
    673
    Versione Office
    2010
    Mi Piace ricevuti
    89
    Mi Piace dati
    1

    Re: Trovare prima cella libera in un intervallo formattato come tabella

    hai ragione dracoscrigno, ho interpretato male la richiesta di mirko, le prime 2 soluzioni che ho postato trovano l'ultima riga piena della prima colonna della tabella, la terza trova l'ultima riga contenente almeno un dato

  12. #11
    L'avatar di patel
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Livorno
    Età
    71
    Messaggi
    673
    Versione Office
    2010
    Mi Piace ricevuti
    89
    Mi Piace dati
    1

    Re: Trovare prima cella libera in un intervallo formattato come tabella

    Citazione Originariamente Scritto da mirko.esposito Visualizza Messaggio
    Grazie per le risposte; nel cao di dracoscrigno mi restituisce l'errore "Necessario oggetto"

    l'ha scritto col cellulare .... (3 = numero colonna della tabella)
    Codice: 
    With [tabella1]
      .Cells(1, 3).End(xlDown).Select
    End With

  13. #12
    L'avatar di Anthony
    Clicca e Apri
    Data Registrazione
    Sep 2016
    Località
    Ivrea (TO)
    Età
    26
    Messaggi
    291
    Versione Office
    2003-2010-2016
    Mi Piace ricevuti
    206
    Mi Piace dati
    33

    Re: Trovare prima cella libera in un intervallo formattato come tabella

    Non perdere il messaggio di patel (vedi sopra)

    Aggiungo la mia, tanto cosi' per confondere vieppiu' il buon mirko:
    -data una Tabella Excel
    -se si vuol sapere quale e' l'indirizzo della "prima cella libera dopo l'ultima occupata" (Nota 0) di una certa colonna si puo' usare

    Codice: 
    With Sheets("Prova").ListObjects("OROFRUIT")          'NOTA 1
        lucAdr = .ListColumns(2).DataBodyRange.Cells(.ListRows.Count, 1).End(xlUp).Offset(1, 0).Address   'NOTA 2
     End With
    Nota0: so che e' una semplificazione della richiesta di trovare "la prima cella vuota all'interno della colonna"; infatti se nell'elenco ci fossero righe vuote il mio calcolo ti restituirebbe sempre un indirizzo in coda alle celle compilate. Ma se proprio serve quello che hai chiesto allora si fara', con un codice leggermente piu' lungo.

    Nota1: In alternativa all'uso del nome della tabella, si puo' usare una cella che si sa appartiene alla tabella; es
    Codice: 
    With Sheets("Prova").Range("C3").ListObject
    Se il nome foglio e' variabile ed e' da prelevare da B7 allora sostituirai "Prova" (comprese le virgolette) con Range("B7").Value

    Nota2: ListColumns(2) indica la seconda colonna della tabella; nel file che hai pubblicato e' la colonna C del foglio. Se vuoi controllare in un'altra colonna userai ovviamente il "suo" numero colonna.

    Quindi una macro che copia D7:H7 nella prima cella libera cosi' calcolata potrebbe diventare:
    Codice: 
        Range("D7:H7").Copy
        Sheets("Prova").Range(lucAdr).PasteSpecial xlPasteValuesAndNumberFormats
    Anche qui vale l'ipotesi di sostituire "Prova" (comprese le virgolette) con Range("B7").Value

    Ciao a tutti.

  14. I seguenti utenti hanno dato un "Mi Piace"


  15. #13
    L'avatar di patel
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Livorno
    Età
    71
    Messaggi
    673
    Versione Office
    2010
    Mi Piace ricevuti
    89
    Mi Piace dati
    1

    Re: Trovare prima cella libera in un intervallo formattato come tabella

    Ciao Anthony, non avevo mai visto databodyrange, non mi sembra che dia un risultato diverso da range.
    Molto interessante il modo di ottenere il nome della tabella tramite la cella che si sa le appartiene.

  16. #14
    L'avatar di mirko.esposito
    Clicca e Apri
    Data Registrazione
    Apr 2016
    Località
    Milano
    Messaggi
    49
    Versione Office
    2016 MAC
    Mi Piace ricevuti
    2
    Mi Piace dati
    1

    Re: Trovare prima cella libera in un intervallo formattato come tabella

    Ho provato entrambi le soluzioni, funzionano entrambi, e vi ringrazio molto per questo, ma mi restituiscono l'ultima cella piena. Come faccio a selezionare la cella successiva a quella trovata?

  17. #15
    L'avatar di patel
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Livorno
    Età
    71
    Messaggi
    673
    Versione Office
    2010
    Mi Piace ricevuti
    89
    Mi Piace dati
    1

    Re: Trovare prima cella libera in un intervallo formattato come tabella

    mirko, ti sono state date molte soluzioni, dicci quale preferisci e te la correggiamo

  18. #16
    L'avatar di Anthony
    Clicca e Apri
    Data Registrazione
    Sep 2016
    Località
    Ivrea (TO)
    Età
    26
    Messaggi
    291
    Versione Office
    2003-2010-2016
    Mi Piace ricevuti
    206
    Mi Piace dati
    33

    Re: Trovare prima cella libera in un intervallo formattato come tabella

    Quella del messaggio #12 (la mia ) non avrebbe bisogno di essere corretta.
    La differenza tra Range e Databodyrange e' che Range prende anche intestazione ed eventuale riepilogo, mentre Databodyrange solo l'area di input; visto che ListRows conta il numero di righe nell'area dati l'uso di Range potrebbe portare a risultati strani.

    Ciao a tutti

  19. #17
    L'avatar di mirko.esposito
    Clicca e Apri
    Data Registrazione
    Apr 2016
    Località
    Milano
    Messaggi
    49
    Versione Office
    2016 MAC
    Mi Piace ricevuti
    2
    Mi Piace dati
    1

    Re: Trovare prima cella libera in un intervallo formattato come tabella

    Preferirei applicare quella di Draco... Grazie mille

  20. #18
    L'avatar di dracoscrigno
    Clicca e Apri
    Data Registrazione
    May 2016
    Località
    ferrara
    Età
    40
    Messaggi
    739
    Versione Office
    office pro 2010
    Mi Piace ricevuti
    184
    Mi Piace dati
    111

    Re: Trovare prima cella libera in un intervallo formattato come tabella

    per avere una cella successiva ad una data si usa il metodo offset(riga,colonna)

    quindi, al posto di .Select
    scriverai
    .offset(1,0).select per selezionarla.
    .offset(1,0).value per assegnarne o leggere il valore

    etc etc

    un consiglio:

    utilizza OPTION EXPLICIT in cima al listato
    e dichiara TUTTE le variabili che utilizzi.

    in questo modo, nelle varie istruzioni che scrivi, l intellisense ti aiuta consigliandoti tutte le scelte possibili tra metodi e proprietà.

  21. #19
    L'avatar di mirko.esposito
    Clicca e Apri
    Data Registrazione
    Apr 2016
    Località
    Milano
    Messaggi
    49
    Versione Office
    2016 MAC
    Mi Piace ricevuti
    2
    Mi Piace dati
    1

    Re: Trovare prima cella libera in un intervallo formattato come tabella

    Perfetto, vi ringrazio la soluzione funziona alla perfezione. Se la tabella ha un nome variabile, esiste un modo di definirlo?

  22. #20
    L'avatar di patel
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Livorno
    Età
    71
    Messaggi
    673
    Versione Office
    2010
    Mi Piace ricevuti
    89
    Mi Piace dati
    1

    Re: Trovare prima cella libera in un intervallo formattato come tabella

    Citazione Originariamente Scritto da mirko.esposito Visualizza Messaggio
    Perfetto, vi ringrazio la soluzione funziona alla perfezione. Se la tabella ha un nome variabile, esiste un modo di definirlo?

    Vedi messaggio #12 di Anthony.

Discussioni Simili

  1. PROBLEMA:trovare intervallo celle dato un determinato valore.
    Di Amegrim nel forum Domande su Excel in generale
    Risposte: 8
    Ultimo Messaggio: 05/09/16, 13:09
  2. Risposte: 18
    Ultimo Messaggio: 20/07/16, 04:55
  3. trovare testo cella e restituire valore della cella vicino a quella trovata
    Di ceppa8 nel forum Domande su Excel in generale
    Risposte: 11
    Ultimo Messaggio: 19/07/16, 18:05
  4. Funzione per trovare una data compresa in un intervallo
    Di ProgrammD69 nel forum Domande su Excel in generale
    Risposte: 14
    Ultimo Messaggio: 07/07/16, 14:10
  5. Trovare l'ultimo numero in fondo ad un intervallo che non sia lo zero
    Di Gerardo Zuccalà nel forum Domande su Excel in generale
    Risposte: 6
    Ultimo Messaggio: 09/09/15, 00:50

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •