W kilkudziesięciu komórkach mam liczby. Jak za jednym zamachem każdą z tych liczb powiększyć o 12%, tak, aby powiększona liczba wyświetlała się w tej samej komórce?
Napisz makro
dim x as string
dim j As string
dim i as string
’ jeżeli dane są w innym wierszu wpisz inną liczbe początkową
i = 1
j = 1
’ pamiętaj że zakładam że dane zaczynają się w pierwszej kolumnie i wierszu!
While Cells(i, j).Value <> “”
x = cells(i, j).Value
x = x * 1,12
Cells (i, j) = x
i = i + 1
Wend
Wyświetla błąd
i = 1
Podświetla 1
Compile errror
Invalid outside procedure
Function zmien()
dim x as string
dim j As string
dim i as string
’ jeżeli dane są w innym wierszu wpisz inną liczbe początkową
i = 1
’ pamiętaj że zakładam że dane zaczynają się w pierwszej kolumnie i wierszu!
While Cells(i, 1).Value <> “”
x = cells(i, 1).Value
x = x * 1.12
Cells (i, 1) = x
i = i + 1
Wend
End Function
teraz zadziała
Działa. Wielkie dzięki
PS. Co oznacza Wend?
koniec pętli while.
Jeszcze jedno - x i z chyba lepiej by były double (dim x as double)
W tym makro nie ma z
masz rację - dodałem z w czasie testów
To które mam ustawić na double?
W takim razie tylko x
Ja po prostu zmieniłem linijkę
x = x * 1.12
na
z = x * 1.12
i potem cells(i, 1) = z
Ale to nie ma żadnego znaczenia, pierwsza i tak działa.