Newsgroup: it.comp.lang.visual-basic
Titolo: VBA e Excel

Salve a tutti, scusate per la domanda forse da principiante (quello che
sono).
Sto creando una macro con Visual Basic in Excel, vorrei sapere come
posso fare nel codice di una routine ad assegnare valori a delle celle
che non sono sempre le stesse. Mi spiego meglio:
la routine chiamata per la prima volta deve assegnarmi alla cella "C6"
un dato valore, la seconda volta il valore "C7", la terza "C8" ecc.
Scusate ancora per la domanda forse molto stupida. Ringrazio tutti
anticipatamente. Ciao.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

un dato valore, la seconda volta il valore "C7", la terza
"C8" ecc.
Una precisazione:
1)Il valore deve essere assegnato a run-
time? o lo si pesca da una cella o da un intervallo dello stesso foglio?
2)La magari variabile es. C6:C15?
3)La cella entro la quale conficcare
detto valore deve essere precisata a run-time? o è sempre C6 la prima volta
ecc?
Cordiali saluti
Il Picchio
--------------------------------
Inviato via 
http://usenet.iol.it
 

 Inviato via 
http://usenet.iol.it
1)Il valore deve essere assegnato a run-time.
2)? Non ho capito
3)Anche la cella deve essere precisata run-time.
In pratica dovrei scrivere qualcosa del genere
Al primo passaggio:
Sheet1.Range("A13") = "Valore che deve essere visualizzaro"
Al secondo passaggio:
Sheet1.Range("A14") = "Altro Valore che deve essere visualizzaro"
Al primo passaggio:
Sheet1.Range("A15") = "Altro Valore che deve essere visualizzaro"
Per intenderci una cosa del tipo
for(i=0,i++,n)
   Sheet1.Range("A(13+i)")="valore"
solo che lo devo scrivere in VBA.
Grazie per la pazienza. Ciao.


se vuoi, prova anche quì
free.it.comp.officexp.excel


Puoi fare cosě:
For i = 1 to 10
    Range("A"& i) = i
Next i
Se invece devi cambiare colonna:
Col=array(A,B,C,...........)
For i = 1 to 10
    Range(Col(i) & 1)=i
Next i
Ciao
    mavimo

>
anticipatamente. Ciao.
Riprendo l'argomento lasciato in sospeso
precedentemente e mi scuso con Mavimo, se ricordo bene, se ho tagliato il
suo codice.
Poniamo che l’intervallo in cui conficcare i valori sia
A1:A10.
Lancia la procedura riportata alla fine della missiva e vedi se il
problema è risolto. Se non lo è ti prego di spiegarti con un esempio
pratico.
E’ chiaro che il banal scritto per questa evenienza può essere
perfezionato.
Cordiali saluti
Il Picchio
Sub ConficcaInSelezione()
Application.ScreenUpdating = False
Range("A1:A10").Select
For Each c In
Selection
MioValore = Val(InputBox("Digita il valore da assegnare nella
cella"))
c.Value = MioValore
Next
End Sub


 End Sub
Io farei cosě
Sub InserisciValori(Cella_Iniziale, Cella_Finale)
'-------Questo mi serve per vedere se la cella dopo č nella stessa riga o
colonna
    If Numero(Cella_Iniziale) = Numero(Cella_Finale) Then
        'Stessa riga
            'Determino la colonna iniziale
            Colonna_Iniziale = Left(Cella_Iniziale, Len(Cella_Iniziale) -
Len(CStr(Numero(Cella_Iniziale))))
            'Determino la colonna finale
            Colonna_Finale = Left(Cella_Finale, Len(Cella_Finale) -
Len(CStr(Numero(Cella_Finale))))
        col = Array(a, B, C, D, E, F, G, H, i, L, M, N, O, P, Q) 'poi mi
fermo ;)
        For i = 0 To 10000
            If col(i) = Colonna_Iniziale Then Exit For
        Next i
        For y = 0 To 10000
            If col(i) = Colonna_Finae Then Exit For
        Next i
        For a = i To y
            Contenuto_Cella = InputBox("Inserisci il valore che vuoi
mettere")
            Range(col(a) & Numero(Cella_Iniziale)) = Contenuto_Cella
        Next a
        Else
        'Stessa Colonna
            'Determino la colonna
            Colonna = Left(Cella_Iniziale, Len(Cella_Iniziale) -
Len(CStr(Numero(Cella_Iniziale))))
        For i = Numero(Cella_Iniziale) To Numero(Cella_Finale)
            Contenuto_Cella = InputBox("Inserisci il valore che vuoi
mettere")
            Range(Colonna & i) = Contenuto_Cella
        Next i
    End If
End Sub
Function Numero(Cella As String) As Integer
    For i = 1 To Len(Cella)
        valore = Mid(Cella, i, Len(Cella) - i)
        If IsNumeric(valore) = True Then
            Numero = valore
            Exit Function
        End If
    Next i
End Function
non so se funge, guarda se ci sono errori perche l'ho scitta velocemente
=P.
fammi sapere.
Ciao
    Mavimo

[SUPER CUT]
Salute a Mavimo, agli amici della discussione ed anche al primo richiedente
il quale, peraltro, non si è fatto ancora vivo quantomeno per ringraziarci
per le risposte date anche se queste probabilmente non hanno risolto il suo
problema. Pertanto mi sembra inutile analizzare una problematica che
riguarda da vicino chi è maggiormente interessato e sta alla finestra
aspettando forse Godot.
Salute
Il Picchio
