{"id":1922,"date":"2017-11-02T21:32:02","date_gmt":"2017-11-02T20:32:02","guid":{"rendered":"http:\/\/www.office-guru.com\/wordpress\/?p=1922"},"modified":"2017-11-12T12:10:19","modified_gmt":"2017-11-12T11:10:19","slug":"elencare-i-nomi-degli-oggetti-di-excel","status":"publish","type":"post","link":"https:\/\/www.office-guru.com\/wordpress\/2017\/11\/elencare-i-nomi-degli-oggetti-di-excel\/","title":{"rendered":"Elencare i nomi degli oggetti di Excel"},"content":{"rendered":"<div style=text-align:right;><a class=\"wpptopdfenh\" target=\"_blank\" rel=\"noindex,nofollow\" href=\"https:\/\/www.office-guru.com\/wordpress\/2017\/11\/elencare-i-nomi-degli-oggetti-di-excel\/?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>A volte capita di avere a che fare con molti oggetti su un oglio di Excel quali linee, rettangoli, cerchi, frecce e volerli manipolare.<\/p>\n<p>Il metodo semplice \u00e8 di assegnare ad ogni oggetto un nome e successivamente manipolarlo in VBA attraverso le propriet\u00e0 dell&#8217;oggetto.<\/p>\n<p>In VBA per &#8220;indirizzare&#8221; un oggetto di un foglio di lavoro si usa il costrutto:<\/p>\n<pre>ActiveSheet.Shapes.Range(Array(\"<strong>NOME_OGGETTO<\/strong>\")).Select\r\n With Selection.ShapeRange.Fill\r\n .Visible = msoTrue\r\n .ForeColor.ObjectThemeColor = msoThemeColorAccent2\r\n .ForeColor.TintAndShade = 0\r\n .ForeColor.Brightness = 0\r\n .Transparency = 0\r\n .Solid\r\n End With<\/pre>\n<p>In questo caso si cambia il colore dell&#8217;oggetto che ha per nome &#8220;<strong>NOME_OGGETTO<\/strong>&#8220;.<\/p>\n<p>Questo procedimento funziona bene se si conoscono i nomi degli oggetti sul foglio di lavoro.<\/p>\n<p>Ci\u00f2 non \u00e8 possibile in modo banale e sopratutto non \u00e8 semplice esportare in un foglio excel i nomi per utilizzarli ad esempio nella macro che ne deve cambiare il colore. Ci\u00f2 rende il tutto molto complicato perch\u00e8 la macro dovrebbe conoscere tutti i nomi di tutti gli oggiettiprsenti sul foglio di lavoro senza leggerne i nomi..<\/p>\n<p>Questa semplice macro crea un foglio di lavoro e inserisce la lista di tutti i nomi di tutti gli oggetti presenti in un foglio di lavoro &#8220;sorgente&#8221;.<\/p>\n<p>&nbsp;<\/p>\n<pre>Sub ListWorkSheetNamesNewWs()\r\n\r\nDim xWs As Worksheet\r\nDim Current As Worksheet\r\n\r\nDim i As Long\r\n\r\nOn Error Resume Next\r\n\r\nApplication.DisplayAlerts = False\r\nxTitleId = \"OFFICE-GURU List NAMES\"\r\nApplication.Sheets(xTitleId).Delete\r\nSet Current = ActiveSheet\r\nApplication.Sheets.Add Application.Sheets(1)\r\nSet xWs = Application.ActiveSheet\r\nxWs.Name = xTitleId\r\nCurrent.Activate\r\n\r\ni = 1\r\nFor i = 1 To ActiveSheet.Shapes.Count\r\n xWs.Range(\"A1\").Offset(i, 0).Value = ActiveSheet.Shapes.Range(Array(i)).Name\r\nNext i\r\n\r\nApplication.DisplayAlerts = True\r\n\r\nEnd Sub<\/pre>\n<p>Per usarla \u00e8 molto semplice:<\/p>\n<ol>\n<li>Importate la macro nel vostro ambiente excel<\/li>\n<li>andate sul foglio di lavoro per cui volete creare la lista degli oggetti<\/li>\n<li>premete ALT F11<\/li>\n<li>Eseguite la macro<\/li>\n<\/ol>\n<p>un nuovo foglio di lavoro viene creato con l&#8217;elenco dei nomi degli oggetti presenti sul foglio di lavoro su cui si \u00e8 eseguita la macro alla colonna A.<\/p>\n<p>Per concludere l&#8217;articolo alcuni consigli di manuali sulla manipolazione degli oggetti in Excel:<\/p>\n\n<p>Attenzione solo che se si ragguppano gli oggetti attraverso il comando &#8220;Raggruppa&#8221; o &#8220;Group&#8221; in inglese, la macro riporter\u00e0 il nome del &#8220;gruppo&#8221; senza aprirlo nelle sue parti costituenti (il che non avrebbe senso perch\u00e8 l&#8217;utente ha appunto creato un gruppo e quindi ci si aspetta che lo voglia manipolare come gruppo appunto)<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/www.office-guru.com\/wordpress\/2017\/11\/elencare-i-nomi-degli-oggetti-di-excel\/excel-group-command\/\" rel=\"attachment wp-att-1931\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-1931\" src=\"https:\/\/i0.wp.com\/www.office-guru.com\/wordpress\/wp-content\/uploads\/2017\/11\/Excel-Group-Command.png?resize=276%2C236\" alt=\"\" width=\"276\" height=\"236\" data-recalc-dims=\"1\" \/><\/a><\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/www.office-guru.com\/wordpress\/wp-content\/uploads\/2017\/11\/List-Objects-in-Excel.xlsm\" rel=\"attachment wp-att-1933\"><strong>Scarica File di Esempio: List Objects in Excel<\/strong><\/a><\/p>\n<p>La macro \u00e8 stata adattata da una simile del sito <a href=\"https:\/\/www.extendoffice.com\/documents\/excel\/572-excel-list-worksheet-names.html\" target=\"_blank\" rel=\"noopener\">ExtendOffice<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A volte capita di avere a che fare con molti oggetti su un oglio di Excel quali linee, rettangoli, cerchi, frecce e volerli manipolare. Il metodo semplice \u00e8 di assegnare ad ogni oggetto un nome e successivamente manipolarlo in VBA &hellip; <a href=\"https:\/\/www.office-guru.com\/wordpress\/2017\/11\/elencare-i-nomi-degli-oggetti-di-excel\/\">Continua a leggere<span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":1931,"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":[5,17,14],"tags":[10,62,60,33],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.office-guru.com\/wordpress\/wp-content\/uploads\/2017\/11\/Excel-Group-Command.png?fit=276%2C236&ssl=1","jetpack_publicize_connections":[],"jetpack_shortlink":"https:\/\/wp.me\/p39IU1-v0","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":239,"url":"https:\/\/www.office-guru.com\/wordpress\/2013\/02\/la-classe-non-e-acqua-un-suggerimento-sulla-programmazione-ad-oggetti\/","url_meta":{"origin":1922,"position":0},"title":"La &#8220;classe&#8221; non \u00e8 &#8230; acqua: un suggerimento sulla programmazione ad oggetti","date":"19 Febbraio 2013","format":false,"excerpt":"Il piccolo file allegato vuole mostrare l\u2019uso un po\u2019 pi\u00f9 sofisticato che si pu\u00f2 realizzare in Excel all\u2019interno di Vba. Infatti abbiamo mostrato come si realizza una piccola classe: la classe Quadrato. Un ottimo lavoro nell\u2019ambito mi sembra quello di Emanuele Mattei nel suo blog:http:\/\/blog.shareoffice.it\/emanuele\/articles\/9973.aspx\u00a0ma \u00e8 indicato soprattutto per Vb.Net\u2026","rel":"","context":"In &quot;Excel&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":873,"url":"https:\/\/www.office-guru.com\/wordpress\/2014\/01\/archivio-con-fotografie-degli-articoli\/","url_meta":{"origin":1922,"position":1},"title":"035. Archivio con Fotografie degli articoli","date":"22 Gennaio 2014","format":false,"excerpt":"Damanda: devo associare la foto in formato jpg di una regione italiana quando nella descrizione di un vino compare il nome di quella regione. naturalmente ci sono 20 regioni + alcune nazioni x i vini esteri e le immagini devono comparire iu una cella con il risultato di un cerca\u2026","rel":"","context":"In &quot;Excel&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":1922,"position":2},"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":493,"url":"https:\/\/www.office-guru.com\/wordpress\/2013\/04\/creare-file-con-vba-ed-inviarli-via-mail\/","url_meta":{"origin":1922,"position":3},"title":"016. Creare file con VBA ed inviarli via mail","date":"4 Aprile 2013","format":false,"excerpt":"Domanda: Volevo sapere se con una macro posso splettare dei file in base al nome ma che mi mantenga le formule inserite e poi spedirle direttamente per e mail. \u2018-------- Risposta: ho preparato un file d\u2019esempio che pu\u00f2 tornare utile a tutti coloro vogliono assegnare ai propri collaboratori delle attivit\u00e0\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":1922,"position":4},"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":101,"url":"https:\/\/www.office-guru.com\/wordpress\/2013\/02\/vba-macro-eseguire-una-macro-automaticamente-allapertura-del-foglio-excel\/","url_meta":{"origin":1922,"position":5},"title":"VBA Macro: eseguire una macro automaticamente all&#8217;apertura del foglio Excel","date":"7 Febbraio 2013","format":false,"excerpt":"Pu\u00f2 capitare di volere eseguire una macro all'apertura di un foglio excel in modo automatico. Ad esempio si vuole che la pivot table che \u00e8 presente nel foglio sia sempre aggiornata oppure che venga aggiornato il fornitore di dati esterno. Per poterlo fare bisogna programmare l'evento\u00a0che Excel esegue all'apertura di\u2026","rel":"","context":"In &quot;Macro&quot;","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.office-guru.com\/wordpress\/wp-content\/uploads\/2013\/02\/esegui_macro_avvio-1.gif?resize=350%2C200","width":350,"height":200},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/posts\/1922"}],"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\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/comments?post=1922"}],"version-history":[{"count":8,"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/posts\/1922\/revisions"}],"predecessor-version":[{"id":1937,"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/posts\/1922\/revisions\/1937"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/media\/1931"}],"wp:attachment":[{"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/media?parent=1922"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/categories?post=1922"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/tags?post=1922"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}