Benvenuto Ospite Cerca | Topic Attivi | Utenti | | Log In | Registra

Significato di alcune istruzioni in linguaggio VBA Opzioni
aetio
Inviato: Thursday, July 01, 2010 6:22:17 PM

Rank: AiutAmico

Iscritto dal : 5/10/2010
Posts: 723
Sto cercando di essere "meno ignorante" (modo moooooolto diplomatico di definirmi asino ahahahah) in materia di linguaggio VBA applicato alle macro...
nella macro che il grande Giap mi ha redatto per risolvere un mio problema (serio...) di ricerca dati

Sub cerca()
Application.ScreenUpdating = False
Dim Myvalue As Long
Myvalue = InputBox("DIGITA IL VALORE DA CERCARE", "CERCA VALORE")
For n = 1 To Cells(1, 1).End(xlDown).Row
Set area = Range(Cells(n, 1), Cells(n, 35))

For Each cl In area
If cl = Myvalue Then
With cl
.Interior.ColorIndex = 36
.Borders.LineStyle = xlContinuous
.Borders.Weight = xlMedium
End With
End If
Next cl
Set area = Nothing
Next n
Application.ScreenUpdating = True
End Sub

cosa significano le istruzioni che ho evidenziato in blu- grassetto? E poi: n viene così nominato per usarlo nella riga del set area? (ma...cos'è in realtà n?) e le Cells(1, 1)? cell(1, 1) dovrebbe essere la A1, ma cells(1, 1) cos'è?
Ho cercato di capirne i significati, il meccanismo, ma...... sono proprio un asino!! :D
Chiedo lumi e Ringrazio anticipatamente,
eZio
Sponsor
Inviato: Thursday, July 01, 2010 6:22:17 PM

 
a10n11
Inviato: Thursday, July 01, 2010 6:54:40 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
aetio ha scritto:



For n = 1 To Cells(1, 1).End(xlDown).Row
Set area = Range(Cells(n, 1), Cells(n, 35))


cosa significano le istruzioni che ho evidenziato in blu- grassetto? E poi: n viene così nominato per usarlo nella riga del set area? (ma...cos'è in realtà n?) e le Cells(1, 1)? cell(1, 1) dovrebbe essere la A1, ma cells(1, 1) cos'è?
Ho cercato di capirne i significati, il meccanismo, ma...... sono proprio un asino!! :D
Chiedo lumi e Ringrazio anticipatamente,
eZio


Salve
la spiegazione delle due righe è questa:

La variabile N non è altro che un contatore di ciclo che si incrementa ogni volta che l'istruzione arriva a "Next"

"Cells(1, 1).End(xlDown).Row" significa: trova l'ultima riga occupata a partire dalla cella A1 = Cells(1,1)

Set Area : Definisce un range che nel nostro caso inserito dopo l'inizio del ciclo For diventa variabile in funzione della variazione della variabile (N).
nel primo passaggio del ciclo l'istruzione: Range(Cells(n, 1), Cells(n, 35)) va letta così: Range(A1:AI1)
nel secondo passaggio Range(A2:AI2) e via discorrendo fino a quando il ciclo For non raggiunge l'ultima riga occupata della colonna A.
Saluti
Giap

aetio
Inviato: Thursday, July 01, 2010 7:36:18 PM

Rank: AiutAmico

Iscritto dal : 5/10/2010
Posts: 723
... Così mi è chiaro, anzi chiarissimo. ;))
1000 Grazie.
Ciao,
eZio
Utenti presenti in questo topic
Guest


Salta al Forum
Aggiunta nuovi Topic disabilitata in questo forum.
Risposte disabilitate in questo forum.
Eliminazione tuoi Post disabilitata in questo forum.
Modifica dei tuoi post disabilitata in questo forum.
Creazione Sondaggi disabilitata in questo forum.
Voto ai sondaggi disabilitato in questo forum.

Main Forum RSS : RSS

Aiutamici Theme
Powered by Yet Another Forum.net versione 1.9.1.8 (NET v2.0) - 3/29/2008
Copyright © 2003-2008 Yet Another Forum.net. All rights reserved.