› Sviluppare funzionalita su Microsoft Office con VBA › Nascondere colonne sulla base di un risultato
-
AutoreArticoli
-
Buongiorno, sono nuovo e girando in lungo e in largo sul forum ed in generale sulla rete non trovo soluzione al mio problema. Premetto che di VBA non ho le basi è quel poco che faccio lo metto in atto modificando minimamente le macro o scopiazzando codici in rete.
Vi spiego in dettaglio perché non posso allegare il file. Voglio far in modo che le colonne da I ad AV si nascondano autonomamente se al rigo 2 di ogni colonna compaia una lettera es. “x” o un numero dato dal risultato di una formula SE.
So che per chi mastica VBA è una passeggiata ma non riesco e non trovò quello che fa per me, spero abbiate la pazienza per aiutarmi.
Grazie
se al rigo 2 di ogni colonna compaia una lettera es. “x” o un numero dato dal risultato di una formula SE
Dunque l'utente digita qualcosa in riga 2 e se immette una "x" si nascondo le colonne indicate. Parimenti accade se la formula =SE (inserita non sappiamo dove) restituisce un numero.
Domanda: ma vengono rivisualizzate queste colonne nascoste o no? Perchè non capisco la ratio: metti che inserisco la "x" in A2, si nascondono tutte le colonne, e poi queste rimangono nascoste... è ininfluente qualsiasi operazione successiva: le colonne sono già nascoste ed è inutile rinasconderle 🙂
Ciao vecchio frac
Le colonne che devono nascondersi o scoprirsi sono dalla I alla AV, per ogni colonna alla riga 2 c’è una fx SE che mi restituisce o meno una “x”. Se il risultato della funzione è “x” la colonna deve sparire altrimenti è visibile, ogni colonna deve essere indipendente perché ha la sua funzione alla riga 2.
Spero di essermi spiegato meglio.
Se ho più o meno capito dovresti farti un ciclo di scansione delle righe del tuo foglio e se una colonna rispetta la condizione(tipo contiene "X" o qualcosa di simile) -->
Columns("I:AV").EntireColumn.Hidden = True
Vi spiego in dettaglio perché non posso allegare il file.....
Un file di esempio con dati non sensibili si può sempre allegare
si può sempre allegare
Però deve essere un utente registrato 🙂
ciao
PMC77 ha capito cosa intendo fare, ed ha anche saputo spiegarlo nel modo corretto, se una o più colonne rispettano la condizione in questo caso “x” allora vengono nascoste altrimenti sono visibili.
È una cosa fattibile?
Vorrei allegarlo ma sto scrivendo con il telefono, con il pc non ho la possibilità di comunicare con l’esterno. Solo via email posso mandarlo, se c'è modo ditemi che lo faccio. Grazie e scusate ma non sono molto bravo con i forum in generale.
Ci provo "a naso"...
Sub CercaNascondi()
Dim RowMin as Integer
Dim RowMax as Integer
Dim shXXXs Worksheet
Set shXXX ThisWorkbook.Sheets("NomeFoglio")RowMin = 5
RowMax = shXXX.Range("A1", shXXX.Range("A1").End(xlDown)).Rows.Count
While RowMin <= RowMax
If shXXX.Range("A" & RowMin).Value = "X" And shXXX.Range("B" & RowMin).Value = "Y" Then
shXXX.Columns("I:AV").EntireColumn.Hidden = TrueEndIF
RowMin = RowMin + 1
WendEnd Sub
Forse sto sbagliando ma io lo sto scrivendo nel foglio e mi da errore di compilazione sia quando ho scritto Dim shXXXs Worksheet ... che quando proseguendo RowMax=shXXX.Range (“A1”)...
purtroppo non ho le basi di vba e per me è arabo quindi posso solo copiare
Comunque le celle interessate sono da “I2” a “AV2” queste contengono una formula SE che mi restituisce “x” in determinate condizioni, quando il risultato è “x” si devono nascondere le colonne corrispondenti.
Dim shXXX as Worksheet
Set shXXX = ThisWorkbook.Sheets("NomeFoglio")Se però non sai usare assolutamente nulla di VBA la vedo dura!
Il mio è stato un errore nel copia/incolla che si è mangiato qualche carattere!
Set shXXX=
me lo da ancora in rosso “errore di compilazione”
In "NomeFoglio" devi ovviamente mettere il nome del foglio Excel che utilizzi tu!
buongiorno
il nome foglio io l’ho messo ed ho scritto tutto il codice indicato da PMC77 non in un modulo ma in (codice) foglio, non succede niente. Ho provato con un foglio vuoto, inserito il codice è digitato le “x” alla riga 2 delle colonne interessate ma ancora nulla 🙁
non ho speranza?
-
AutoreArticoli
