| | Post: 131 | Registrato il: 24/07/2013
| Città: SALERNO | Età: 52 | Utente Junior | Excel LTSC 2021 | | OFFLINE | |
|
27/10/2023 09:03 | |
Buongiorno a tutti,
Vorrei sapere come fare, in un foglio di lavoro, per visualizzare in riga1 la larghezza delle rispettive colonne
Esempio:
se la larghezza della colonna 'A' è di 8,43 vorrei che detto valore venisse visualizzato in Cella 'A1'
se la larghezza della colonna 'B' è di 15,29 vorrei che detto valore venisse visualizzato in Cella 'B1'
se la larghezza della colonna 'A' è di 3,00 vorrei che detto valore venisse visualizzato in Cella 'C1'
e così via,
nell'ambito di un intervallo determinato (es. A1:AZ1)
Allego file di esempio
Grazie
[Modificato da Anthony D'Acunto 27/10/2023 09:06] Windows 10 - Excel LTSC |
|
| | Post: 1.370 | Registrato il: 16/08/2015
| Città: CORDENONS | Età: 67 | Utente Veteran | Excel 2016-32bit Win11 | | OFFLINE |
|
27/10/2023 09:20 | |
Probabilmente basta una macro così: Option Explicit
Sub LarghezzaColonne()
Dim x As Integer
For x = 1 To 52
Cells(1, x) = Columns(x).Width
Next x
End Sub
______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto) |
| | Post: 1.152 | Registrato il: 24/06/2015
| Città: CATANIA | Età: 80 | Utente Veteran | Excel2019 | | OFFLINE |
|
27/10/2023 09:22 | |
Ciao
Non vorrei sbagliarmi ma ritengo possa farsi solo con VBA
Ciao,
Mario
PS - Rolando sei stato più veloce di me. Ciao. [Modificato da Marius44 27/10/2023 09:24] |
| | Post: 7.397 | Registrato il: 14/11/2004
| Utente Master | Office 2019 | | OFFLINE |
|
27/10/2023 09:35 | |
Ciao, avrei proposto la stessa Macro di Rollis che Saluto, e come ha detto Mario che Saluto, credo che con le formule non si possa fare tranne smentita.
Ciao By Sal (8-D se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui |
| | Post: 3.111 | Registrato il: 10/10/2013
| Città: VICENZA | Età: 69 | Utente Master | 365 | | OFFLINE |
|
27/10/2023 10:30 | |
ciao
DIDATTICA
con le formule si potrebbe ma arrotonda la larghezza
formule
nome
largcol
formula
=CELLA("larghezza";Foglio1!A$1)
sulla cella A1 matriciale ctrl maiuscolo invio
=largcol
da tirare a destra
meglio il VBA
altrimenti si potrebbe usare
INFO.CELLA()
ma è un caos.praticamente bisogna cambiare il sistema di protezione
[Modificato da federico460 27/10/2023 10:31] |
| | Post: 2.410 | Registrato il: 21/03/2008
| Città: LOCATE VARESINO | Età: 76 | Utente Veteran | 2007 / 13 | | OFFLINE | |
|
27/10/2023 12:12 | |
ciao
si potrebbe anche scrivere un UDF sempre salvando come macro il file
in un modulo
Option Explicit
Function Lar_col(Ncol As Long) As Variant
Lar_col = Columns(Ncol).ColumnWidth
End Function
nella cella del foglio
=Lar_col(RIF.COLONNA()) Ciao da locate
excel 2007 / 13 |
| | Post: 131 | Registrato il: 24/07/2013
| Città: SALERNO | Età: 52 | Utente Junior | Excel LTSC 2021 | | OFFLINE | |
|
27/10/2023 16:20 | |
Confermo quanto hai detto.
Prima di scrivere qui ho fatto varie ricerche sul Web e riscontrato la cosa.
Inoltre trovato sul Web una procedura con Definisci nome, ma non sono riuscito ad applicarla, essendo le formule scritte in inglese
Grazie per il tuo riscontro
Saluti
federico460, 27/10/2023 10:30:
ciao
DIDATTICA
con le formule si potrebbe ma arrotonda la larghezza
formule
nome
largcol
formula
=CELLA("larghezza";Foglio1!A$1)
sulla cella A1 matriciale ctrl maiuscolo invio
=largcol
da tirare a destra
meglio il VBA
altrimenti si potrebbe usare
INFO.CELLA()
ma è un caos.praticamente bisogna cambiare il sistema di protezione
[Modificato da Anthony D'Acunto 27/10/2023 16:21] Windows 10 - Excel LTSC |
| | Post: 132 | Registrato il: 24/07/2013
| Città: SALERNO | Età: 52 | Utente Junior | Excel LTSC 2021 | | OFFLINE | |
|
27/10/2023 16:29 | |
Rollis13, grazie per la tua risposta.
Ho copiato il codice che mi hai inviato in un modulo e, all'atto dell'esecuzione della macro mi restituisce, nelle celle in riga 1, il valore della relativa colonna, ma moltiplicato per 5-6 volte
Cioè:
A1 mi dà 48,00 invece che 8,43
B1 mi dà 84,00 invece che 15,29
C1 mi dà 19,50 invece che 3,00
D1 mi dà 243,75 invece che 45,71
E1 mi dà 72,25 invece che 13,14
e così via
rollis13, 27/10/2023 09:20:
Probabilmente basta una macro così: Option Explicit
Sub LarghezzaColonne()
Dim x As Integer
For x = 1 To 52
Cells(1, x) = Columns(x).Width
Next x
End Sub
Windows 10 - Excel LTSC |
| | Post: 133 | Registrato il: 24/07/2013
| Città: SALERNO | Età: 52 | Utente Junior | Excel LTSC 2021 | | OFFLINE | |
|
27/10/2023 16:31 | |
Locatevaresino, grazie per la tua soluzione, ma non so cosa sia un UDF
locatevaresino, 27/10/2023 12:12:
ciao
si potrebbe anche scrivere un UDF sempre salvando come macro il file
in un modulo
Option Explicit
Function Lar_col(Ncol As Long) As Variant
Lar_col = Columns(Ncol).ColumnWidth
End Function
nella cella del foglio
=Lar_col(RIF.COLONNA())
Windows 10 - Excel LTSC |
| | Post: 7.398 | Registrato il: 14/11/2004
| Utente Master | Office 2019 | | OFFLINE |
|
27/10/2023 16:34 | |
Ciao Prova la mia, può darsi che inserendo il valore in una variabile il risultato sia diverso, a me da le dimensioni giuste
Sub DimCol()
Dim N, x
Rows(1).ClearContents
For x = 1 To 52
N = Columns(x).ColumnWidth
Cells(1, x) = N
Next x
End Sub
Ciao By Sal (8-D se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui |
| | Post: 134 | Registrato il: 24/07/2013
| Città: SALERNO | Età: 52 | Utente Junior | Excel LTSC 2021 | | OFFLINE | |
|
27/10/2023 17:25 | |
Anche a me, adesso, dà le dimensioni corrette.
Grazie mille
by sal, 27/10/2023 16:34:
Ciao Prova la mia, può darsi che inserendo il valore in una variabile il risultato sia diverso, a me da le dimensioni giuste
Sub DimCol()
Dim N, x
Rows(1).ClearContents
For x = 1 To 52
N = Columns(x).ColumnWidth
Cells(1, x) = N
Next x
End Sub
Ciao By Sal (8-D
Windows 10 - Excel LTSC |
| | Post: 1.371 | Registrato il: 16/08/2015
| Città: CORDENONS | Età: 67 | Utente Veteran | Excel 2016-32bit Win11 | | OFFLINE |
|
27/10/2023 18:59 | |
Ma ... nessuno si è accorto che questa mattina nella fretta (mi aspettavano al bar per la colazione😋) ho scritto:
"Cells(1, x) = Columns(x).Width"
invece di:
"Cells(1, x) = Columns(x).ColumnWidth"
______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto) |
| | Post: 135 | Registrato il: 24/07/2013
| Città: SALERNO | Età: 52 | Utente Junior | Excel LTSC 2021 | | OFFLINE | |
|
27/10/2023 19:05 | |
Grazie per avermi dedicato il tuo tempo, nonostante i richiami della colazione abbiano avuto i loro giusti effetti distraenti...😋
rollis13, 27/10/2023 18:59:
Ma ... nessuno si è accorto che questa mattina nella fretta (mi aspettavano al bar per la colazione😋) ho scritto:
"Cells(1, x) = Columns(x).Width"
invece di:
"Cells(1, x) = Columns(x).ColumnWidth"
Windows 10 - Excel LTSC |
|
|