Creeare bucla in VBA excel

Închis
ionut
Mesaje: 9
Membru din: Lun Aug 31, 2009 11:04 am

Creeare bucla in VBA excel

Mesaj de ionut » Joi Sep 17, 2009 2:27 pm

Buna tuturor,

Sunt destul de novice in VBA cu excel si va rog daca se poate sa ma ajutati cu crearea unei bucle care sa ruleze un cod de program:

Initial am selectat:
Range("A284").Select

apoi sa-mi mearga la
Range("A284+284").Select apoi Range("A284+284+24").Select

Adica sa mi adauge la domeniul selectat range-ul precedent +284.

Multumesc

Dr.Windows
Moderator
Moderator
Mesaje: 4570
Membru din: Vin Iul 31, 2009 7:32 am

Re: Creeare bucla in VBA excel

Mesaj de Dr.Windows » Joi Sep 17, 2009 2:38 pm

Nu cred ca am inteles exact ce inseamna la tine o "bucla"... pentru ca

- daca te intereseaza o bucla de cod astea deobicei se fac cu "do... loop"
- daca te intereseaza in schimb cum se extinde un range atunci vezi acest thread: Adaugare celule la un Range Name existent

... pentru ca Range("A284+284") nu are cum sa fie... trebuie sa fie o zona de celule...

Dr.Windows
Moderator
Moderator
Mesaje: 4570
Membru din: Vin Iul 31, 2009 7:32 am

Re: Creeare bucla in VBA excel

Mesaj de Dr.Windows » Joi Sep 17, 2009 3:28 pm

Ionut scrie:Adica sa mi adauge la domeniul selectat range-ul precedent +284.
Cred ca m-am prins... asa ca uite un exemplu mai jos:

Cod: Selectaţi tot

Sub TestRangeLoop()
    Dim salt
    salt = 2
    
    Do While x < 5
        'Scrie de 5 ori in A2 valoarea "V1"
        Range("A2").Select
        Selection.Value = "V1"
        
        'Scrie pe coloana 2 (B) din 2 in 2 randuri valoarea "COL2"
        With Worksheets(1)
            .Range(.Cells(2 + salt * x, 2), Cells(2 + salt * x, 2)).Select
            Selection.Value = "COL2"
        End With
        
        'Scrie pe randul 3 din 2 in 2 coloane valoarea "RND3"
        With Worksheets(1)
            .Range(.Cells(3, 2 + salt * x), Cells(3, 2 + salt * x)).Select
            Selection.Value = "RND3"
        End With
        
        x = x + 1
    Loop
End Sub
Ideea este sa folosesti in loc de "denumirea zonei" cum ai tu Range("A2"), indexul celulelor Range(Cell(rand,coloana))...

Închis

Înapoi la “Visual Basic for Application (VBA) cu Excel - Intrebari tehnice”