{"id":1822,"date":"2017-10-05T17:20:10","date_gmt":"2017-10-05T15:20:10","guid":{"rendered":"http:\/\/www.office-guru.com\/wordpress\/?p=1822"},"modified":"2017-10-06T15:28:59","modified_gmt":"2017-10-06T13:28:59","slug":"071-estrazione-casuale-valori-da-un-elenco","status":"publish","type":"post","link":"https:\/\/www.office-guru.com\/wordpress\/2017\/10\/071-estrazione-casuale-valori-da-un-elenco\/","title":{"rendered":"071. Estrazione casuale valori da un elenco"},"content":{"rendered":"<div style=text-align:right;><a class=\"wpptopdfenh\" target=\"_blank\" rel=\"noindex,nofollow\" href=\"https:\/\/www.office-guru.com\/wordpress\/2017\/10\/071-estrazione-casuale-valori-da-un-elenco\/?format=pdf\" title=\"Download PDF\"><img alt=\"Download PDF\" src=\"https:\/\/i0.wp.com\/www.office-guru.com\/wordpress\/wp-content\/plugins\/wp-post-to-pdf-enhanced\/asset\/images\/pdf.png?w=584\" data-recalc-dims=\"1\"><\/a><\/div><p>Ci scrivono:<\/p>\n<p>Buonasera, io dovrei estrarre, casualmente, da una colonna di 170 celle 40 celle. Mi potreste dare info su la funzione da utilizzare ? Grazie<\/p>\n<p>&lt;!&#8211;more&#8211;&gt;<\/p>\n<p>Risposta:<\/p>\n<p>Dopo aver indicato nella cella D1 il numero di valori che voglio estrarre dal mio elenco<br \/>\nbasta premere il bottone &#8220;ESTRAI&#8221; che esegue il seguente codice (commentato):<\/p>\n<pre>\r\nPublic Sub EstraiCelleDaElenco()\r\n\r\nDim arr As New Collection\r\nDim i As Long\r\nDim IndiceCasuale As String\r\n\r\nDim DA_ESTRARRE As Integer\r\nDA_ESTRARRE = Sheet1.Range(\"D1\")\r\n\r\n\r\n'---------------------------------------------------------------------------------------'\r\n'Pulisco colonna dove estrarre i numeri\r\n\r\nSheet2.Select\r\nLast_Row2 = Sheet2.Cells.Find(\"*\", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row\r\n\r\nIf Last_Row2 &gt; 1 Then\r\n   Sheet2.Range(Cells(2, 1), Cells(Last_Row2, 1)).ClearContents\r\nEnd If\r\n'---------------------------------------------------------------------------------------'\r\n\r\n\u00a0\r\n'Individuo ultima riga non vuota dell'elenco\r\n\r\nMAX = Sheet1.Cells.Find(\"*\", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row\r\n'Definisco intervallo inferiore (indice della prima riga contente i dati)\r\nMIN = 2\u00a0 '\u00e9 la riga del primo elemento dell'elenco\r\n\r\n\r\n'Ripeto il ciclo DO-LOOP fino a quando il numero di elementi contenuti nel vettore 'arr'\r\n'\u00e8 uguale al numero degli elementi da estrarre 'DA_ESTRARRE\r\n\r\nDo Until arr.Count = DA_ESTRARRE\r\n'estraggo un numero da inserire in un vettore\r\n   IndiceCasuale = Int((MAX - MIN + 1) * Rnd + MIN)\r\n'Se il numero fosse gi\u00e0 presente nel vettore, non sarebbe possibile inserirlo e si genererebbe un errore.\r\n'Ottengo quindi il risultato voluto (estrazione senza ripetizione)\r\n'e faccio riprendere il ciclo\r\nOn Error Resume Next\r\narr.Add IndiceCasuale, IndiceCasuale\r\n\r\nLoop\r\n\u00a0\r\n\r\nFor i = 1 To arr.Count\r\n\r\n'Ricalcolo l'ultima riga vuota del foglio in cui estrarre i dati\r\nLast_Row2 = Sheet2.Cells.Find(\"*\", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row\r\n\r\n'Copio nel foglio ESTRAZIONE i valori del foglio DATI\r\n'utilizzando i numeri di riga casuali estratti precedentemente ed inseriti nel vettore arr\r\n'di cui prendo gli gli elementi 'i' dal numero 1 all'ultimo arr.Count\r\n\r\n Sheet2.Cells(Last_Row2 + 1, 1) = Sheet1.Cells(arr(i), 1)\r\n\r\nNext\r\n\r\nEnd Sub\r\n<\/pre>\n<p>A voi il file:<br \/>\n<a href=\"http:\/\/www.office-guru.com\/wordpress\/?attachment_id=1827\/\u200e\">APRI<\/a><\/p>\n<p>Riccardo Vincenti<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ci scrivono: Buonasera, io dovrei estrarre, casualmente, da una colonna di 170 celle 40 celle. Mi potreste dare info su la funzione da utilizzare ? Grazie &lt;!&#8211;more&#8211;&gt; Risposta: Dopo aver indicato nella cella D1 il numero di valori che voglio &hellip; <a href=\"https:\/\/www.office-guru.com\/wordpress\/2017\/10\/071-estrazione-casuale-valori-da-un-elenco\/\">Continua a leggere<span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"_links_to":"","_links_to_target":""},"categories":[13,5,6],"tags":[],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_shortlink":"https:\/\/wp.me\/p39IU1-to","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":1845,"url":"https:\/\/www.office-guru.com\/wordpress\/2017\/10\/073-duplicare-righe-excel-modificando-il-contenuto\/","url_meta":{"origin":1822,"position":0},"title":"073. Duplicare righe excel modificando il contenuto","date":"6 Ottobre 2017","format":false,"excerpt":"Ci scrivono: Buongiorno, avrei una piccola esigenza su excel. ho un elenco di 2000 righe circa con una decina di colonne. dovrei duplicare le righe n-volte e per ogni riga duplicata modificare i valori di alcune celle aggiungengo dei suffissi\\prefissi in base alla colonna. es. riga base: ColA ColB ColC\u2026","rel":"","context":"In &quot;Excel&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1831,"url":"https:\/\/www.office-guru.com\/wordpress\/2017\/10\/072-estrazione-numeri-casuali\/","url_meta":{"origin":1822,"position":1},"title":"072. Estrazione numeri casuali","date":"6 Ottobre 2017","format":false,"excerpt":"Durante la realizzazione del precedente articolo '071. Estrazione casuale valori da un elenco' ho pensato ad una variante del codice che permettesse di estrarre dei numeri dopo aver definito il valore minimo e massimo della serie di numeri da cui estrarre, ed il numero di valori da estrarre. Questo \u00e8\u2026","rel":"","context":"In &quot;Excel&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1745,"url":"https:\/\/www.office-guru.com\/wordpress\/2017\/09\/067-riordinare-tabella\/","url_meta":{"origin":1822,"position":2},"title":"067. Riordinare tabella","date":"20 Settembre 2017","format":false,"excerpt":"Luigi ci scrive: ho necessita di allineare i dati della colonna A con quelli contenuti nella colonna B traslando i dati della riga relativa es Colonna A Colonna B Colonna C A C 10 B A 20 C D 30 D RISULTATO Colonna A Colonna B Colonna C A A\u2026","rel":"","context":"In &quot;Domande Lettori&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":545,"url":"https:\/\/www.office-guru.com\/wordpress\/2013\/04\/ciclare-in-un-range\/","url_meta":{"origin":1822,"position":3},"title":"019. Ciclare in un range","date":"22 Aprile 2013","format":false,"excerpt":"Domanda: ho un problema con la funzione CERCA.VERT che utilizzo tantissimo per i miei scopi. Quesito: ho delle tabelle tipo la seguente prestazione\u00a0\u00a0\u00a0\u00a0 punti 7,30\u00a0\u00a0\u00a0 20 7,23\u00a0\u00a0\u00a0 19 .... \u00a0 \u00a0 \u00a0 .... 6,20\u00a0\u00a0\u00a0 3 6,13\u00a0\u00a0\u00a0 2 6,07\u00a0\u00a0\u00a0 1 nelle quali vado a ricercare il punteggio al verificarsi di una\u2026","rel":"","context":"In &quot;Domande Lettori&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":520,"url":"https:\/\/www.office-guru.com\/wordpress\/2013\/04\/creare-file-con-vba-ed-inviarli-via-mail-avanzato\/","url_meta":{"origin":1822,"position":4},"title":"017. Creare file con VBA ed inviarli via mail (avanzato)","date":"20 Aprile 2013","format":false,"excerpt":"Ciao a tutti, in questo giorni ho modificato il Tool che invia allegati tramite email seguendo alcune necessit\u00e0 di Alessandra. Le modifiche sono le seguenti: 1) verifica della presenza dei nomi inseriti nella base dati con quelli presenti in elenco e segnalazione di eventuali assenze 2) selezione attraverso di un\u2026","rel":"","context":"In &quot;Domande Lettori&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":752,"url":"https:\/\/www.office-guru.com\/wordpress\/2013\/10\/estrarre-dati-da-cartelle-e-files-chiusi\/","url_meta":{"origin":1822,"position":5},"title":"026. Estrarre dati da cartelle e files chiusi","date":"19 Ottobre 2013","format":false,"excerpt":"Domanda: Sono alla ricerca di una macro vba che mi permetta di andare a leggere dei dati su foglio 1 di excel di varie cartelle di una cartella denominata Magazzino Magazzino \/abete\/1098.xls\/foglio1 \/abete\/1099.xls\/foglio1 \/acero\/2097.xls\/foglio1 \/acero\/2120.xls\/foglio1 ecc. Dovrei sommare in un nuovo foglio i valori contenuti nei vari foglio1 dell'elenco ad\u2026","rel":"","context":"In &quot;Domande Lettori&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/posts\/1822"}],"collection":[{"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/comments?post=1822"}],"version-history":[{"count":8,"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/posts\/1822\/revisions"}],"predecessor-version":[{"id":1855,"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/posts\/1822\/revisions\/1855"}],"wp:attachment":[{"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/media?parent=1822"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/categories?post=1822"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/tags?post=1822"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}