Wpis z mikrobloga

#vba #programowanie #kiciochpyta

Witam was. Mam pytanko do wtajemniczonych. Robię makro Visual Basic , w którym mam pętlę, która kopiuje wartość z jednej komórki do drugiej w innym arkuszu. Po wykonaniu pętli ma odczytać komórkę poniżej i tak aż na potka komórkę o wartości 0. Namęczyłem coś takiego:

Sub eksperyment()

Dim zrodlo As Variant

Dim wiersz As Variant

Dim nosnik As Variant

wiersz = 1

zrodlo = "L" & wiersz

nosnik = Sheets(2).Range(zrodlo).Value

Do While nosnik <> "0"

nosnik = Sheets(2).Range(zrodlo).Value

Sheets(1).Range("P3").Value = nosnik

wiersz = wiersz + 1

Loop

End Sub

I nie wiem czemu, ale makro nie chce się zakończyć. Kopiowanie staje na pierwszej komórce źródła.

Jest tu jakiś mentor?:)
  • 6
@siemanko: 1. Odczytywanie nosnika raz za razem ma umiarkowany sens. Odczytuj raz przed petla, i drugi raz jako ostatnia instrukcje w petli.

2. Użyj cells zamiast range

3. zwiekszasz wiersz, wiec nosnik tez musisz aktualizowac w petli