Excel Forum - Porady, Pomoc,  Excel Help, Excel FAQ Strona Główna
 FAQ  RegulaminRegulamin  Szukaj   Użytkownicy   Grupy   Rejestracja   Profil   Twoje wiadomości   Zaloguj 


Poprzedni temat «» Następny temat
ID tematu: 64394 Skopiuj do schowka formatowanie wielu arkuszy
Autor Wiadomość
wojcian 
świeżak


Posty: 5
Wysłany: 12-03-2019, 07:40   formatowanie wielu arkuszy

1 mam ark pdf – z programu firmowego
2 przekonwertowałem go w internecie na excela TROCHĘ RZECZY SIĘ POSYPAŁO
-np. nazwiska , Ktoś kopiuje to do notatnika i wtedy nie ma tych błędów, ale nie wiem jak to potem doprowadzić do takiego stanu jak w ark xxx
3 cześć niepotrzebnych kolumn i wierszy usunąłem – to zrobiłem z zaznaczeniem wszystkich arkuszy
4 dołączyłem listę kontrolną pracowników q ark 1 żeby ściągać poprawne nazwiska wyszukując po nr ID pracownika –TEGO NIE UMIEM
5 jak będą poprawne nazwiska – chce nazwać poszczególne arkusze (page 2 , 3 itd.) nazwiskami
6 stworzyć chyba hiperzłacze – tzn klikając na nazwisko z listy automatycznie przechodzę do tego arkusza i powrót do listy – gdzieś widziałem filmik jak to zrobić ale nie umiem dojść do tego miejsca.
7 formatowanie – całych wierszy lub chociaż komórek z kolumny A które mają zdublowaną datę w kolumnie A ( dotyczy wszystkich arkuszy , ale każdy oddzielnie).W page 1 i 2 jest zrobione
-formatowanie warunkowe działa tylko na jednym arkuszu jak kopiuje formatowanie lub stosuje malarza formatów wszystko jest ok do momentu zaznaczenia wszystkich arkuszy -wtedy przestaje działać a ark jest ok 240
Generalnie chce osiągnąć
-nazwane arkusze *page 1 nazwiskiem itd) i łatwość przechodzenia
-sformatowane arkusze tak jak page 1 i 2
-no i chciałbym wiedzieć jak to szybko robić żeby nie każdy arkusz oddzielnie
Chyba ze ktoś ma inny pomysł jak osiągnąć ten cel zaczynając już od pdf którego nie mogę edytować. Może chociaż częściowo na któryś z problemów ktoś pomoże
ps
tego pdf-a nie mogę załączyć bo jest za duży

xxx.xlsx
Pobierz Plik ściągnięto 15 raz(y) 587.91 KB

ID posta: 363983 Skopiuj do schowka
 
 
BrunO 
ExcelSpec



Pomógł: 126 razy
Posty: 554
Wysłany: 12-03-2019, 10:31   

Zdajesz sobie sprawę z tego, że właśnie wrzuciłeś do sieci całą masę danych osobowych? Na pewno chcesz żeby jakaś kontrola RODO dała ci po łapach?

Ale ad rem...
Czy eksport do pdf to jedyna opcja tego programu firmowego? Nie ma tam jakichś sensowniejszych formatów, które nie robiłyby z danych jesieni średniowiecza? Z tym co wrzuciłeś niby można walczyć, ale jest tam cała masa syfu, chociażby jakieś spacje w środku liczb w kol. F

Ad. 4,5,6,7 można to zrobić takim makrem:

Kod:
Sub rename()

Dim ws As Worksheet
Dim nazwisko As String
Dim ID As String
Dim w As Long

For Each ws In Worksheets

    If ws.Name <> "Arkusz1" Then
   
        ID = Replace(ws.Range("A1").Value, "Pracownik:", "")
       
        For w = 2 To 262
            If Sheets("Arkusz1").Cells(w, "A").Value = ID Then
                nazwisko = Sheets("Arkusz1").Cells(w, "B").Value
                ws.Range("B1").Value = nazwisko
                ws.Name = nazwisko
               
                Sheets("Arkusz1").Hyperlinks.Add Anchor:=Sheets("Arkusz1").Cells(w, "B"), Address:="", SubAddress:="'" & nazwisko & "'" & "!A1", TextToDisplay:=nazwisko
               
               
                'formatowanie warunkowe
                    With ws.Columns("A:A")
                        .FormatConditions.AddUniqueValues
                        .FormatConditions(.FormatConditions.Count).SetFirstPriority
                        .FormatConditions(1).DupeUnique = xlDuplicate
                        .FormatConditions(1).Font.Color = -16383844
                        .FormatConditions(1).Interior.PatternColorIndex = xlAutomatic
                        .FormatConditions(1).Interior.Color = 13551615
                        .FormatConditions(1).StopIfTrue = False
                    End With
               
                GoTo Nastepny
            End If
       Next w
       
       MsgBox "Nie znaleziono ID " & ID & Chr(10) & ws.Name & " - " & ws.Range("B1")
Nastepny:
    End If

Next

End Sub


Aczkolwiek przyznaję się, że formatowanie warunkowe zrobiłem na podstawie nagrania. I tu się pojawia mały zgrzyt, bo gdy je dodaję, pojawia mi się komunikat:
Cytat:
Program Excel nie może ukończyć zadania z dostępnymi zasobami.
Wybierz mniej danych lub zamknij inne aplikacje.
Zawsze na Page183, przy czym klikniecie OK sprawia, że makro zasuwa do końca...

P.S.
Aha, na twojej liście najwyraźniej brakuje części ID
ID posta: 363997 Skopiuj do schowka
 
 
wojcian 
świeżak


Posty: 5
Wysłany: 12-03-2019, 11:09   

z tym pdf masz rację, ale tylko taki format generuje ten program. W załączniku mam skopiowany z tego pdfa arkusz i tam już tyle błędów nie ma (załączam dla informacji, jeśli jeszcze coś będziesz chciał polepszyć)
niezależnie od tego bardzo ci dziękuję, formatowanie działa ja szedłem w zupełnie innym kierunku tzn zrobiłem FW na jednym arkuszu i chciałem skopiować na pozostałe - do tej pory nie wiem dlaczego nie poszło, ale nie ważne. Reszta też jest tak jak chciałem a te błędy może jakoś ręcznie będę usuwał.
chciało by się powiedzieć, że się odwdzięczę, ale to by było nadużycie nie ta epoka dla mnie
pozdrawiam

wojcian w dniu: 2019-03-12, 11:13 napisał/a:
l jeszcze jedno pytanie czy ta formuła/makro przypisana jest tylko i wyłącznie do tego arkusza z taką ilością danych? Chodzi mi o to jak będę miał dane za marzec i tam zapewne będzie inna liczba rekordów to czy mogę zastosować ten sam kod ?

edycja Zbiniek:
1. Proszę korzystać z opcji edytowania wypowiedzi – przycisk „edytuj”. Opcja jest dostępna bodajże przez 30 minut od momentu wysłania wypowiedzi.
2. Zainwestuj w klawiaturę - mam nadzieję, że to tylko ALT Ci się zacina.
Tekst bez polskich "ogonków" jest mniej czytelny i często bezużyteczny dla osób korzystających z http://www.excelforum.pl/search.htm (Korzystasz?)
POPRAWIŁEM ZA CIEBIE.


zPdf (3).txt
Pobierz Plik ściągnięto 8 raz(y) 363.46 KB

ID posta: 364000 Skopiuj do schowka
 
 
BrunO 
ExcelSpec



Pomógł: 126 razy
Posty: 554
Wysłany: 12-03-2019, 13:11   

W tym txt dane faktycznie czystsze, tylko że ułożenie ich w tabeli masę dłubania by wymagało, więc już lepiej czyścic to co jest w excelu. No i nie koniecznie ręcznie. W zasadzie w większości przypadków wystarczy spacje usunąć.

Tak z ciekawości - wyrzuciło ci błąd o którym pisałem?

Cytat:
l jeszcze jedno pytanie czy ta formuła/makro przypisana jest tylko i wyłacznie do tego arkusza z taka ilościa danych

Tak, tutaj poszedłem na łatwiznę i ustawiłem na twardo przeszukiwany obszar. Siedzi to w tym wierszu:
Kod:
For w = 2 To 262
Na szybko w sumie wystarczy zamienić 262 na np. 1000, tylko że przeszukiwanie jest iteracyjne, więc będzie niepotrzebnie sprawdzało puste komórki.

Bardziej cywilizowaną metodą będzie wyliczenie ostatniego zajętego wiersza, np.:
Kod:
For w = 2 To Sheets("Arkusz1").Cells(Sheets("Arkusz1").Rows.Count, "A").End(xlUp).Row


Cytat:
dhciało by sie powiedzić że sie odwdzieczę ale to by było naduzycie nie ta epoka dla mnie
pozdrawiam
Na tym forum "pomuk" wystarczy :)

Aha, przypomniałem sobie o jeszcze jednym ograniczeniu. Teoretycznie mogą ci się przytrafić dwaj pracownicy o tym samym nazwisku i imieniu. Wtedy makro wysypie się przy nadawaniu nazw arkuszom, bo ich nazwy muszą być niepowtarzalne.
ID posta: 364029 Skopiuj do schowka
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Theme xandgreen created by spleen& Programosy modified v0.3 by warna
Opieka techniczna www.marketingNET.pl

Archiwum

Strona używa plików cookies.

Kliknij tutaj, żeby dowiedzieć się jaki jest cel używania cookies oraz jak zmienić ustawienia cookie w przeglądarce.
Korzystając ze strony użytkownik wyraża zgodę na używanie plików cookies, zgodnie z bieżącymi ustawieniami przeglądarki.
Sprawdź, w jaki sposób przetwarzamy dane osobowe