È soltanto un Pokémon con le armi o è un qualcosa di più? Vieni a parlarne su Award & Oscar!
 
Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Ciclo For

Ultimo Aggiornamento: 15/04/2018 13:52
Post: 3.346
Registrato il: 28/06/2011
Città: AGORDO
Età: 70
Utente Master
2013
OFFLINE
13/04/2018 12:17

NB Dim Val1 As Double, Val2 As Double
Dal post http://www.freeforumzone.com/d/11485656/VBA-per-filtrare-tabella/discussione.aspx
Dopo aver fatto un primo ciclo e nascosto determinate colonne
Non riesco fare Sub Ricerca2() il For X = 3 To Range("C" & Rr & ":" & "XFD" & Rr).SpecialCells(xlCellTypeVisible).Column
Intendo dire (se dopo A+B), la prima colonna visibile è la Ex AO
Perchè il ciclo comincia dalla C?
Grazie mille
Excel 2013
Post: 2.811
Registrato il: 03/04/2013
Utente Veteran
Excel 2000 - 2013
OFFLINE
13/04/2018 16:55

Buona sera, Raffaele;
bella sfida!

L'unica cosa che mi viene in mente è di utilizzare una Matrice per ogni "Ricerca" nella quale registrare le Colonne da nascondere.

Non è molto semplice da spiegare ma ci provo.

-    Codice VBA Ricerca1, preliminarmente visualizza tutte le Colonne, poi, non nasconde le Colonne ma memorizza le Colonne da nascondere in Dim Rc1(83) As Byte
-    Codice VBA Nasconde1, nasconde le Colonne memorizzate in Rc1
Alla Fine della di Ricerca1, Call Nasconde1
-    Codice VBA Ricerca2, preliminarmente visualizza tutte le Colonne, poi, ripete il Codice VBA Ricerca1 senza Call, non nasconde le Colonne ma memorizza le Colonne da nascondere in Dim Rc2(83) As Byte
-    Codice VBA Nasconde2, nasconde le Colonne memorizzate in Rc1 e Rc2
Alla Fine della di Ricerca2, Call Nasconde2
-    Codice VBA Ricerca3, preliminarmente visualizza tutte le Colonne, poi, ripete il Codice VBA Ricerca2 senza Call, non nasconde le Colonne ma memorizza le Colonne da nascondere in Dim Rc3(83) As Byte
-    Codice VBA Nasconde3, nasconde le Colonne memorizzate in Rc1, Rc2 e Rc3
Alla Fine della di Ricerca3, Call Nasconde3

Non sarà una passeggiata, ma potrebbe funzionare.


Giuseppe

Windows XP - Excel 2000
Windows 10 - Excel 2013
Post: 3.349
Registrato il: 28/06/2011
Città: AGORDO
Età: 70
Utente Master
2013
OFFLINE
13/04/2018 17:16

Ciao GiuseppeMN
Grazie della risposta e scusami del disturbo (ormai è fatto)
Il problema era dovuto al For X = 3 To Cc.... e dovevo aggiungere il SpecialCells(xlCellTypeVisible)
Modificando in For Each Cl In Rg.SpecialCells(xlCellTypeVisible)
Funzionava, mà non sapevo come nascondere la colonna interessata.
Mettendo ... X = Cl.Column ci sono riuscito
Excel 2013
Post: 2.812
Registrato il: 03/04/2013
Utente Veteran
Excel 2000 - 2013
OFFLINE
14/04/2018 08:50

Buona giornata, Raffaele;
grazie a te per la soluzione proposta che ho già salvata nelle "Procedure da non cancellare mai".

Anche oggi ho imparato cose nuove; questo è lo scopo dei FORUM.


Buon fine settimana.

Giuseppe

Windows XP - Excel 2000
Windows 10 - Excel 2013
Post: 3.352
Registrato il: 28/06/2011
Città: AGORDO
Età: 70
Utente Master
2013
OFFLINE
14/04/2018 15:44

Non Ti abbituare, perchè non sono bravo...

Come appena scritto una nuova domanda se riesci aiutarmi.
Sai come si fà nell'userform, caricare in una Combobox1 un'area definita da un nome? A me dà "strani errori" Grazie mille
Excel 2013
Post: 2.816
Registrato il: 03/04/2013
Utente Veteran
Excel 2000 - 2013
OFFLINE
14/04/2018 17:59

Buona sera, Raffaele;
con questa sequenza non dovresti aver problemi:
-    Definisci un NomeZona (Esempio: Prodotti =temp!$B$18:$B$38)
-    ComboBox    RowSource Prodotti

In allegato il File esplicativo.



Buona serata.

Giuseppe

Windows XP - Excel 2000
Windows 10 - Excel 2013
Post: 3.354
Registrato il: 28/06/2011
Città: AGORDO
Età: 70
Utente Master
2013
OFFLINE
14/04/2018 19:26

Non devo dire parolacce nel forum. Comunque grazie
Mà bit...bit...bit, tutto il pomeriggio che ci provo
Siccome non ho nulla da fare, stanotte m'è venuto in testa di rifarlo
Una Userform con 5 Combobox e 10 Textbox.
Siccome ho messo un Dim ws As Worksheet: Set ws = Sheet("....")
Ho messo in RowSource =Prodotti, =ws.Prodotti (scordando di togliere il segno =)
Pasienza, la vecchia fà brutti scherzi. Dato che ci sono un'altra domanda...se posso?
Mi ricordo di un ciclo For "...se fosse in Sub UserForm_Initialize()"
Ex ,,,che non funziona
For Y = 1 to 10
Textbox(Y) = Y
Next Y
Excel 2013
Post: 2.818
Registrato il: 03/04/2013
Utente Veteran
Excel 2000 - 2013
OFFLINE
14/04/2018 21:27

Buona sera, Raffaele;
credo potresti provare con:

Option Explicit

Private Sub UserForm_Initialize()
Application.ScreenUpdating = False
Dim x As Byte

    For x = 1 To 10
        Controls("TextBox" & x) = Cells(x, 1)
    Next x
Application.ScreenUpdating = True
End Sub



A disposizione.

Buona serata e buon fine settimana.

Giuseppe (per gli Amici ... poargepe! [SM=x423028] )

Windows XP - Excel 2000
Windows 10 - Excel 2013
Post: 3.358
Registrato il: 28/06/2011
Città: AGORDO
Età: 70
Utente Master
2013
OFFLINE
15/04/2018 13:52

Ciao Giuseppe
Grazie del (Controls & x), volevo sapere se esiste un ciclo for pure sulle variabili. Intendo ho 10 Textbox, alla peggio sono solo 10 righe per popolarle. Però ho 5 combobox, alle quali devo far una ricerca FIND su quale riga è scritta il valore scelto.
Set Rg = Area.Find(Controls(combobox & x), LookIn:......
If Not Rg Is Nothing Then
Rr1 = Rg.Row (qui dovrei popolare la variabile Rr1, al prossimo next la variabile Rr2 ecc ecc)
Solo per imparare e scrivere diverse righe di codice in meno

Ho letto in rete ARRAY (altra cosa che non sono capace)
[Modificato da raffaele1953 15/04/2018 14:41]
Excel 2013
Vota: 15MediaObject5,0019 1
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 16:08. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com