{"id":472,"date":"2013-03-25T18:09:05","date_gmt":"2013-03-25T17:09:05","guid":{"rendered":"http:\/\/www.office-guru.com\/wordpress\/?p=472"},"modified":"2014-04-12T16:27:27","modified_gmt":"2014-04-12T14:27:27","slug":"classifica-tramite-vba","status":"publish","type":"post","link":"https:\/\/www.office-guru.com\/wordpress\/2013\/03\/classifica-tramite-vba\/","title":{"rendered":"013. Classifica tramite VBA"},"content":{"rendered":"<div style=text-align:right;><a class=\"wpptopdfenh\" target=\"_blank\" rel=\"noindex,nofollow\" href=\"https:\/\/www.office-guru.com\/wordpress\/2013\/03\/classifica-tramite-vba\/?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>Domanda:<\/p>\n<p>Salve ho un problema da risolvere.<br \/>\nho un foglio excel dove ricavo una classifica generale\u00a0 di arrivo dando la posizione con un doppio click che mi inserisce via via la numerazione di classifica utilizzando quasta formula vba<\/p>\n<pre>Private Sub Worksheet_BeforedoubleClick( ByVal Target As Range, Cancel As Boolean)\r\n\r\nIf Not Intersect(Range(\"c3:c65536\"),Target) Is Nothing Then\r\n If Cells(Target.Row, 1) = \"\" Then\r\n Cells(Target.Row, 1) = Application.Max(Range(\"a:a\")) + 1\r\n End If\r\n End If\r\n Cancel = True\r\n End Sub<\/pre>\n<p>fino a qui tutto ok.<\/p>\n<p>il problema \u00e8 che vorrei sempre con doppio click oltre a fare la classifica generale di arrivo farla contemporaneamente per categoria.<!--more--><\/p>\n<p>esempio<br \/>\nClassifica\u00a0 Nominativo\u00a0\u00a0 ClassificaCategoria\u00a0\u00a0\u00a0 Categoria<br \/>\n1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 a2<br \/>\n2\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 a1<br \/>\n3\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 a2<br \/>\n4\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 3\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 a2<br \/>\n5\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 a1<br \/>\n6\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 3\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 a1<br \/>\n7\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 4\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 a2<\/p>\n<p>\u00e9 possibile tutto ci\u00f2???<\/p>\n<p><!--more--><\/p>\n<p>Risposta:<\/p>\n<p>ho modificato la sua tabella in:<br \/>\nClassificaGenerale | ClassificaCategoriaA1 | ClassificaCategoriaA2 | Nominativo | Categoria<br \/>\nA a1<br \/>\nB a1<br \/>\nC a1<br \/>\nD a2<br \/>\nE a2<br \/>\nF a2<\/p>\n<p>Ho modificato il suo codice in:<\/p>\n<pre>Private Sub Worksheet_BeforedoubleClick(ByVal Target As Range, Cancel As Boolean)\r\n 'Identifico l'ultima cella non vuota del foglio\r\nLast_Row = ActiveSheet.Cells.Find(\"*\", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row\r\n 'quando clicca su di un nominativo nella colonna D (colonna 4)\r\n\r\nIf Not Intersect(Range(Cells(3, 4), Cells(Last_Row, 4)), Target) Is Nothing Then\r\n   If Cells(Target.Row, 1) = \"\" Then\r\n         Cells(Target.Row, 1) = Application.Max(Range(\"A:A)) + 1\r\n         'Categoria a1\r\n         If Cells(Target.Row, 5) = \"a1\" Then\r\n             Cells(Target.Row, 2) = Application.Max(Range(\"B:B\")) + 1\r\n             'Categoria a2\r\n         ElseIf Cells(Target.Row, 5) = \"a2\" Then\r\n             Cells(Target.Row, 3) = Application.Max(Range(\"C:C\")) + 1\r\n        End If\r\n   End If\r\nEnd If\r\nCancel = True\r\nEnd Sub<\/pre>\n<p>In allegato il file d&#8217;esempio<br \/>\n<a href=\"http:\/\/www.office-guru.com\/wordpress\/wp-content\/uploads\/2013\/03\/Classifica.xls\">Classifica<\/a><\/p>\n<p>Riccardo Vincenti<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Domanda: Salve ho un problema da risolvere. ho un foglio excel dove ricavo una classifica generale\u00a0 di arrivo dando la posizione con un doppio click che mi inserisce via via la numerazione di classifica utilizzando quasta formula vba Private Sub &hellip; <a href=\"https:\/\/www.office-guru.com\/wordpress\/2013\/03\/classifica-tramite-vba\/\">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,6],"tags":[],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_shortlink":"https:\/\/wp.me\/p39IU1-7C","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":480,"url":"https:\/\/www.office-guru.com\/wordpress\/2013\/03\/classifica-tramite-vba-v2\/","url_meta":{"origin":472,"position":0},"title":"014. Classifica tramite VBA &#8211; v2","date":"27 Marzo 2013","format":false,"excerpt":"Questo articolo segue al precedente \"Classifica tramite VBA\" di cui \u00e8 un evoluzione. L'esigenza del nostro lettore era quella di avere la classifica per categoria in un'unica colonna, dal momento che dovr\u00e0 gestire fino a 10 categorie contemporaneamente. Ho modificato quindi il codice permettendo di gestire N categorie contemporaneamente senza\u2026","rel":"","context":"In &quot;Domande Lettori&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1064,"url":"https:\/\/www.office-guru.com\/wordpress\/2014\/02\/filtro-rapido-con-vba-excel-2007-2010\/","url_meta":{"origin":472,"position":1},"title":"041. Filtro Rapido con VBA (Excel 2007-2010)","date":"19 Febbraio 2014","format":false,"excerpt":"In ambito lavorativo capita spesso di avere file con un foglio dove sono presenti le anagrafiche dei clienti ed un altro contenente ad esempio il dettaglio degli ordini dei clienti. Quando si hanno elevate quantit\u00e0 di dati non \u00e8 immediato aprire il filtro sul foglio degli ordini ed individuare il\u2026","rel":"","context":"In &quot;Excel&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":180,"url":"https:\/\/www.office-guru.com\/wordpress\/2013\/02\/riportare-somma-tramite-vba\/","url_meta":{"origin":472,"position":2},"title":"001. Riportare somma tramite VBA","date":"14 Febbraio 2013","format":false,"excerpt":"Domanda: Scopiazzando sul web sono riuscito a creare la seguente macro che vorrei modificare: Private Sub Worksheet_Activate() Dim wSheet As Worksheet Dim l As Long l = 1 With Me .Columns(1).ClearContents .Cells(1, 1) = \\\"ELENCO GIOCATORI\\\" .Cells(1, 2) = \\\"IMPORTO Assegnato\\\" .Cells(1, 1).Name = \\\"Sommario\\\" End With For Each wSheet\u2026","rel":"","context":"In &quot;Domande Lettori&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":699,"url":"https:\/\/www.office-guru.com\/wordpress\/2013\/08\/copiare-file-con-vba\/","url_meta":{"origin":472,"position":3},"title":"023. Copiare File con VBA","date":"7 Agosto 2013","format":false,"excerpt":"Domanda: Ho una colonna di Excel dove sono riportati una lista di files (comprensivi di percorso) e in un\\'altra colonna il nome di questi files (con percorso destinazione) che integrano nel nome alcune cose. Il problema \u00e8: con VBA come faccio a realizzare una istruzione che mi copi i files\u2026","rel":"","context":"In &quot;Domande Lettori&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1155,"url":"https:\/\/www.office-guru.com\/wordpress\/2014\/04\/calcolo-percentuale-con-vba\/","url_meta":{"origin":472,"position":4},"title":"049. Calcolo percentuale con VBA","date":"12 Aprile 2014","format":false,"excerpt":"Domanda: Buongiorno, chiedo il vostro aiuto in merito ad un problema con codice vba. Ho la colonna C con dei valori e nell'ultima cella, che pu\u00f2 variare di posizione, il totale. Ora vorrei creare un codice in vba che mi permetta di riportare in colonna D le diverse percentuali di\u2026","rel":"","context":"In &quot;Domande Lettori&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":629,"url":"https:\/\/www.office-guru.com\/wordpress\/2013\/05\/individuare-duplicati\/","url_meta":{"origin":472,"position":5},"title":"021. Individuare duplicati","date":"24 Maggio 2013","format":false,"excerpt":"Domanda: Buongiorno a tutti, avrei bisogno del vostro aiuto se possibile. io ho una colonna excel piena di codici alfanumerici, questa colonna \u00e8 in costante aggiornamaento perch\u00e8 ogni giorno vengo inseriti alcuni codici. io avrei bisogno di un modo per sapere e evidenziare se il codice che sto inserendo \u00e8\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\/472"}],"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=472"}],"version-history":[{"count":6,"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/posts\/472\/revisions"}],"predecessor-version":[{"id":1177,"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/posts\/472\/revisions\/1177"}],"wp:attachment":[{"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/media?parent=472"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/categories?post=472"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/tags?post=472"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}