Marek
Zadęcki
pracownik biurowy i
kadrowy
Temat: Prośba o wyjaśnienie czemu makro zgłasza błąd i...
Mam takie makro, które łączy mi nazwiska i imiona z dwóch kolumn do jednej:Sub LoopRange1()
Dim x As Long
'Niech x zaczyna się od wiersza 3
x=3
'Przetwarzanie w pętli aż do znalezienia pustego wiersza
Do While Cells(x,3).Value<>" "
'To spowoduje umieszczenie wartości
'z trzeciej i czwartej kolumny (C i D)
'razem ze spacją między nimi
'w piątej kolumnie (E)
Cells(x,5).Value=Cells(x,3)+ _
" "+Cells(x,4).Value
'zwiększy wartość x o 1
'w celu przetwarzania następnego wiersza
x=x+1
Loop
End Sub
Jeśli x będzie zadeklarowana jw. to mam komunikat: Run-time error'1004: Application-defined or object-defined error. i podświetla mi na żółto linię:
Do While Cells(x,3).Value<>" "
Natomiast jeśli wpiszę
Dim x As Integer
to mam komunikat Run-time error '6:
Overvlow i podświetla mi na żółto linię
x=x+1
ponadto w jednym jak i drugim przypadku makro działa dość dziwnie. Testowo wrzuciłem tylko trzy wiersze. Wynik dostaję błyskawicznie, natomiast potem makro jeszcze przez ok. 1min "mieli" coś.
Bardzo proszę o wyjaśnienie co jest nie tak.
Jeśli jeszcze mogę w tym temacie: Jak przerobić to makro, aby jeśli występuje drugie imię zwracało poprawny wynik (np. Kowalski Jan Artur, względnie Kowalski Jan bez dodatkowej spacji pomiędzy pierwszym a drugim imieniem)