Wpis z mikrobloga

ogolnie kod wyglada mniej wiecej tak:

lastcodecopy = Worksheets("skanowanekody").Range("A12")

Range(Cells(2, 6), Cells(lastcodecopy + 2, 6)).Select
  • Odpowiedz
@Miszcz_Joda: Kod na screenie wywala błąd, ponieważ właściwość Range dotyczy arkusza, który podałeś, natomiast właściwości Cells - skoro nie mają podanego arkusza - dotyczą innego arkusza (a którego dokładnie, to zależy od rodzaju modułu w którym kod się znajduje).
Zatem kod powinien wyglądać tak:

Worksheets("skanowane_kody").Range(Worksheets("skanowane_kody").Cells(2, 7), Worksheets("skanowane_kody").Cells(2, 7)).PasteSpecial ....
Wygląda dość paskudnie, dlatego są 2 wyjścia:
a) przypisać arkusz do zmiennej (jak sugerowane wyżej),
  • Odpowiedz
@1001001: dziekuje za podpowiedz
@brak_nicku: tez wyczytalem te rozwiazanie po pol dnia czytania, teraz smiga az milo, dziekuje za pomoc :)

Range(Worksheets("skanowanekody").Cells(2, 6), Worksheets("skanowanekody").Cells(lastcodecopy + 2, 6)).Copy
Worksheets("skanowane_kody").Range("G2").PasteSpecial Paste:=xlPasteValues
  • Odpowiedz
teraz smiga az milo, dziekuje za pomoc :)


@Miszcz_Joda: Nie ma za co, to że działa to najważniejsze, ale mogę też udzielić paru wskazówek, które ułatwią życie w przyszłości.

1) W zaprezentowanym (krótkim) kodzie masz sporo magic numbers. "G2", "A12", 2, 6. Teraz przychodzi moment, gdy trzeba dostawić kolumnę z lewej strony, albo wiersz u góry i trzeba przeglądać i poprawiać kod. Przy kilku linijkach to żaden problem, ale gdy
  • Odpowiedz
  • 0
@brak_nicku super dziękuję za rady, na pewno mi sie przydadzą. Mam tez pytanie. Jesli nazwe w arkuszu komórkę np. "kodkreskowy" potem w kodzie VBA umieszcznie ten adres powiedzymy. .... Range("kodkreskowy").... I następuje taka sytuacja, ze wcześniej kodkreskowy byl pod komórka A5 a teraz usuwam z tamtej komorki te nazwe i nazywam tak komórkę B5 to rozumiem, ze wtedy kod z automatu odniesie się do nowej komórki?
  • Odpowiedz
@Miszcz_Joda: tak, kod będzie zawsze korzystał z aktualnego adresu przypisanego do nazwy - bez względu na to, czy adres zmieni się po zmianie struktury arkusza, czy też autor postanowi zmienić lokalizację
  • Odpowiedz