konto usunięte

Temat: Zamiana na pętlę - VBA

Witajcie,

Dziś rozpocząłem swoją przygodę z makrami.

Chciałbym zamienić część makra, którą wklejam poniżej na jakąś "zgrabniejszą". Obecna działa, ale na pewno da się to zrobić jakąś pętlą. Moje próby nie są niestety udane. Problem polega na tym, że jeśli zdefiniuję sobie:

Set zakres = Range("e2:e11")

I chciałbym użyć później for each, to nie wiem w jaki sposób odnieść się do zakresu g2:g11 - mam jakieś tam pomysły, ale zwraca mi błędy.

Dodatkowe pytanie: w jaki sposób uniezależnić się od wpisania konkretnych komórek do obliczeń? Czy to będzie trudne zadanie dla kogoś, kto dziś napisał pierwsze w życiu makro? :) Proszę o jakieś wskazówki.

Select Case Range("e2").Value
Case "1"
Range("g2").Value = Range("DANE!B2").Value
Case "2"
Range("g2").Value = Range("DANE!B3").Value
Case "3"
Range("g2").Value = Range("DANE!B4").Value
Case "4"
Range("g2").Value = Range("DANE!B5").Value
Case "5"
Range("g2").Value = Range("DANE!B6").Value
Case "6"
Range("g2").Value = Range("DANE!B7").Value
Case "7"
Range("g2").Value = Range("DANE!B8").Value
End Select

Select Case Range("e3").Value
Case "1"
Range("g3").Value = Range("DANE!B2").Value
Case "2"
Range("g3").Value = Range("DANE!B3").Value
Case "3"
Range("g3").Value = Range("DANE!B4").Value
Case "4"
Range("g3").Value = Range("DANE!B5").Value
Case "5"
Range("g3").Value = Range("DANE!B6").Value
Case "6"
Range("g3").Value = Range("DANE!B7").Value
Case "7"
Range("g3").Value = Range("DANE!B8").Value
End Select

Select Case Range("e4").Value
Case "1"
Range("g4").Value = Range("DANE!B2").Value
Case "2"
Range("g4").Value = Range("DANE!B3").Value
Case "3"
Range("g4").Value = Range("DANE!B4").Value
Case "4"
Range("g4").Value = Range("DANE!B5").Value
Case "5"
Range("g4").Value = Range("DANE!B6").Value
Case "6"
Range("g4").Value = Range("DANE!B7").Value
Case "7"
Range("g4").Value = Range("DANE!B8").Value
End Select

...i tak dalej aż do e11.

konto usunięte

Temat: Zamiana na pętlę - VBA

Witam,
do tego typu "operacji" służą właśnie pętle... Przetestuj proszę jak działa kod:

Sub Petla()
Dim i&

For i = 2 To 11
Cells(i, 7).Value = Cells(Cells(i, 5).Value + 1, 2).Value
Next i
End Sub

PozdrawiamDarek J. edytował(a) ten post dnia 10.04.12 o godzinie 15:51

konto usunięte

Temat: Zamiana na pętlę - VBA

Dziękuję bardzo, o to mi chodziło :)

Następna dyskusja:

[excelo pogotowie] typ prze...




Wyślij zaproszenie do