#vba #excel
Mirki, proszę o pomoc. Czemu mi ten kod nie działa?
Dodam, że jest on uruchamiany w ramach zdarzenia Workbook_BeforeClose (ale z innego skoroszytu, niż "Raport").

Workbooks("Raport").Worksheets("Raport").Range("A:Z").RemoveDuplicates Columns:=Array(1, 2), Header:=xlYes


Błąd to subscript out of range
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Prezydent_Polski: Problem VBA Excela polega na tym, że jego model obiektów jest do granic możliwości naszpikowany domyślnymi właściwościami klas. W połączeniu z zasięgiem nazw tworzy to wiele pułapek.
Najbardziej trywialny i najczęściej występujący przykład, kod typu:

Range("A1") = zmienna
zmienna = Range("A1")
Jest prawidłowy, skompiluje się i zadziała, ale w praktyce nie powinien wystąpić, bo jego działanie jest uzależnione od tego, gdzie
  • Odpowiedz
@gacek1197: jeżeli tych obszarów jest na tyle dużo, że nie chce Ci się wstawiać formuł przepisujących, to szybkie makro z 1 pętlą, która przelatuje przez A1 -> Ax i jeżeli trafi na komórkę niepustą lub z konkretnym napisem, to bierze liczbę z nazwy kolumny dokleja ją do B i tam wstawia wartość.
  • Odpowiedz
Czy ktoś się spotkał z takim błędem przy odświeżaniu tabeli przestawnej ?
źródłem TP jest zapytanie PQ

Nie możemy uzyskać danych z modelu danych. Komunikat o błędzie:
Wystąpił nieoczekiwany błąd (plik ,,pcminorojcoll.inl", wiersz 109, funkcja "PCMinorObjectCollection::SetNameAndUpdateCollection").

#excel #vba #analizadanych
biju - Czy ktoś się spotkał z takim błędem przy odświeżaniu tabeli przestawnej ?
źró...

źródło: comment_U95l4zH5YGzchIWA4puJ7691k9pfieOa.jpg

Pobierz
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Treść przeznaczona dla osób powyżej 18 roku życia...
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Panowie Mirki, temat #vba, potrzebuję jak najszybciej nauczyć się makra, chociaż tworzenia przez rejestrator. Jakieś godne polecenia materiały - książki, tutoriale, kursy online?
#excel
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

via Wykop Mobilny (Android)
  • 1
@wenszu87: bo rejestrator sie wysypie juz przy nagrywaniu akcji tworzenia nowego pliku. Pozatym nagranie takiego procesu sprawia, ze w kodzie wszystko jest na sztywno "hardcoded" przez co i tak nagrane makro przydałoby sie poprawić w edytorze.
Jak ogarniasz angielski to polecam "vba for dummies". Wszystko wytlumaczone jak dla dziecka i mi bardzo na początku pomogło ogarnąć co i jak.
  • Odpowiedz
jak w #excel ustawić hasło/ukryć arkusz w pliku tak aby był całkowicie niedostępny dla użytkownika pliku. Chodzi mi o to żeby nie dało się go podejrzeć, odwołać się do niego z innego arkusza ani odkryć go przez #vba aby jedyny możliwy dostęp do niego był przez jakieś ustawione wcześniej hasło
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mam taki kod:

Sub makro1()
Dim LR As Long
LR = Cells(Rows.Count, ActiveCell.Column).End(xlUp).Row - 1
ActiveCell.FormulaR1C1 = "=SUBTOTAL(3,R[2]C:R[" & LR & "]C)"
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Defender: Jeżeli makro ma działać na dowolnym aktywnym arkuszu, zamień ActiveCell na Range("A1") (lub w skróconej formie na [A1]). Jeśli chcesz, żeby działało tylko na jakimś konkretnym, użyj Sheets("nazwa akrusza").Range("A1") lub ['nazwa arkusza'!A1].
  • Odpowiedz
Siema mirki. Mam problem w vba, odrazu mowie ze jestem amatorem. Próbuję napisać makro, żeby w excelu scalało mi komórki w taki sposob: c2 i c3, pozniej d2 i d3 do momentu az trafia na jakąś niepustą komórkę. Kod wyglada tak:
Range("c2" ," c3"). Select
Do while activecell= ""
Selection. Mergecells = true
Selection. Offset(1,0).select
Loop
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Może ktoś mi podpowie,
Mam w arkuszu Excel w kolumnie A dane, które mają być w zapytaniu SQL jako warunek w where.
Następnie po wyfiltrowaniu dane z SQL mają się przenosić do kolumny B w Excelu.
Myślałem nad tym, aby zrobić pętle w VBA i w każdym kroku przypisywać zmienna i wyrzucać wynik.

#vba #sql
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@michal0110: Do zrobienia, choć warto rozważyć opcję połączenia wszystkich warunków, wyciągnięcia pełnych danych jednym zapytaniem i rozbicia ich już po stronie VBA - wszystko zależy od szczegółów, których niewiele tu podałeś. Rozważ też Power Query, tam to zapewne będzie dużo łatwiejsze do zrealizowania.
  • Odpowiedz
Może dlatego, że nie jestem typowo ścisłowcem.


@bart_212: W takim razie dużo bardzie przypadnie Ci do gustu WiseOwl z Youtube. Bardzo dobrze i na spokojnie tłumaczy. Zawsze wszystko krok po kroku. Jest przy tym bardzo spójny i wprowadza w optymalnym tempie coraz to trudniejsze zagadnienia w danym temacie.
Sam w trakcie nauki nikogo lepszego od niego nie znalazłem.
  • Odpowiedz
Mam pytanko, bo ostatni raz coś bardziej skomplikowanego w excelu robiłem z 5 lat temu i nic już nie pamiętam.
W skrócie: mam 5 plików, w których jest kilka kolumn, przy czym mnie interesują trzy: Imię, Nazwisko i wynik, gdzie jest wartość liczbowa w zakresie 1-10. Co ważne imiona i nazwiska w każdym pliku niekoniecznie się pokrywają, w jednym może być 50 rekordów, w drugim 60 i mogą być w innej kolejność.
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@SKYFander: jeśli lista wszystkich osób jest stała (bez względu w jakich plikach występują) to wystarczy kilka podstawowych formuł (JEŻELI+INDEKS+PODAJ.POZYCJĘ), jeśli nie to w grę wchodzi VBA albo Power Query, ale pewnie "gotowego szablonu" nie znajdziesz.
  • Odpowiedz
@SKYFander: J/w - w najprostszym wariancie w Power Query to trzy kroki do wyklikania z menu (wskazanie folderu z plikami, rozwinięcie zawartości arkuszy, usunięcie zbędnych kolumn). Po zmianie plików źródłowych wystarczy odświeżyć tabelę z wynikami.
  • Odpowiedz
Przypominam, że tylko do jutra jest -60% na kursy wideo programistyczne w języku polskim. Poniżej lista tytułów z cenami, autorami i linkami do zakupu. Trochę tego jest. Do dużej części kursów są ebooki gratis:

#git. Kurs video. Pracuj wygodnie z najpopularniejszym systemem kontroli wersji. Kurs video. Marcin Biegała obniżka z 59,00 zł na 23,60 zł LINK
#python 3. Kurs video. Praktycznie wprowadzenie do programowania. Kurs video. Adam Bobowski obniżka
tomaszs - Przypominam, że tylko do jutra jest -60% na kursy wideo programistyczne w j...

źródło: comment_hQOJJ3w3BR8rACOVzEtLpJXXfDGAeraG.jpg

Pobierz
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach