Calcolo della distanza tra la parte superiore della finestra e la riga 1 (Microsoft Excel)
Quando crea un UserForm, Louis imposta la proprietà Top di UserForm su 222, che ha determinato per tentativi ed errori è la distanza in pixel tra il bordo superiore della finestra attiva e la parte superiore della prima riga di dati nel foglio di lavoro. Si chiede se esiste un modo per calcolare questa distanza in modo programmatico, dato che la distanza può variare a seconda di quanto del nastro viene visualizzato e dell’altezza della barra della formula.
Se hai bisogno di ottenere l’altezza dell’area della barra multifunzione, puoi esaminare la proprietà Altezza dell’oggetto CommandBars (“Ribbon”), in questo modo:
iHt = CommandBars("Ribbon").Height
Questo, ovviamente, ti darà solo una parte delle informazioni di cui hai bisogno in ultima analisi. Le informazioni sul posizionamento per un Form utente si basano sull’angolo superiore sinistro della finestra del programma. Quindi, è necessario prendere in considerazione lo spessore del bordo della finestra (se c’è un bordo), l’altezza del nastro (menzionato sopra, ma solo se in esecuzione su una versione di Excel che utilizza il nastro), l’altezza della barra della formula , qualsiasi spazio consentito per il righello e così via.
La maggior parte di queste cose non hanno proprietà di altezza che puoi controllare, quindi il posizionamento di un form utente può essere un processo di tentativi ed errori in ordine.
Una volta che l’UserForm è posizionato correttamente sul tuo sistema, non c’è alcuna garanzia che sarà posizionato correttamente se visualizzato sul sistema di qualcun altro.
La migliore soluzione che abbiamo trovato è (in questo caso) non reinventare la ruota. Chip Pearson, sul suo sito web, ha creato quello che chiama un “posizionatore di form” che elimina le congetture dal posizionamento di un form utente. Puoi trovare informazioni su di esso qui:
http://www.cpearson.com/Excel/FormPosition.htm
Non ci sono costi; è gratis. Ti consente di posizionare un Form utente rispetto a qualsiasi cella sullo schermo. Se sviluppi macro che si basano su UserForms, ti consigliamo di controllare cosa ha da offrire Chip.
ExcelTips è la tua fonte di formazione economica su Microsoft Excel.
Questo suggerimento (2309) si applica a Microsoft Excel 2007, 2010, 2013 e 2016.