Michał Podciwiński

Owner, Podciwiński Graphic Design

Wypowiedzi

  • Michał Podciwiński
    Wpis na grupie Fani Excela w temacie Zakres wierszy VBA Excel do zaznaczenia
    1.08.2017, 16:33

    Zrobiłe tak:


    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Static w As Long
    For w = 42 To 305

    If w > 0 Then
    With Rows(w)
    .Borders(xlEdgeBottom).LineStyle = xlNone
    End With
    End If

    With Rows(w)
    With .Borders(xlEdgeBottom)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = 1 'inna by coś widać było.
    '.Color = RGB(217, 217, 217)
    End With
    End With
    Next
    End Sub


    Ale generuje mi obramowanie od razu na całym zakresie i nie usuwa go po zaznaczeniu na inny wiersz.

  • Michał Podciwiński
    Wpis na grupie Fani Excela w temacie Zakres wierszy VBA Excel do zaznaczenia
    26.07.2017, 16:48

    Cześć wszystkim, mam mały problem z dodaniem zakresu wierszy do makra.
    To makro dodaje mi obramowanie do zaznaczonego wiersza, ale ja chciałbym by działało ono tylko w obrębie tabeli. Od wiersza 42 do 305


    If w > 0 Then
    With Rows(w)
    .Borders(xlEdgeBottom).LineStyle = xlNone
    End With
    End If

    With Target(1).EntireRow
    w = .Row

    With .Borders(xlEdgeBottom)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .Color = RGB(217, 217, 217)
    End With

    End With


    Pomożecie? ;)

  • Michał Podciwiński
    Wpis na grupie Fani Excela w temacie Mierzenie czasu zadania START/STOP
    15.03.2017, 12:21

    Witam Panowie i Panie,
    dzisiaj mam problem z czymś ambitniejszym .

    Mam taki plik:
    https://www.dropbox.com/s/97v7h0f4d307jqe/timer2.xlsm?dl=0

    Zrobiłem w nim licznik czasu, ale nie działa tak jak powinien.
    W pliku opisałem schemat działania i jak chciałbym by działał.

    Po skrócie, chciałbym mieć licznik czasu który liczy czas pojedynczego zadania i sumuję wszystkie zadania rozpoczęte dla danego klienta.

    Pomożecie? ;)Ten post został edytowany przez Autora dnia 15.03.17 o godzinie 12:23

  • Michał Podciwiński
    Wpis na grupie Fani Excela w temacie LUB w Formule LICZ WARUNKI
    28.02.2017, 20:01

    Bartłomiej D.:
    a tak?
    =SUMA(LICZ.WARUNKI(N10:N18;{"W przygotowaniu";"Wysłana"};I10:I18;"<>"))


    na podstawie: https://exceljet.net/formula/countifs-with-multiple-cri...

    Działa pięknie! dzięki Bartek.

  • Michał Podciwiński
    Wpis na grupie Fani Excela w temacie LUB w Formule LICZ WARUNKI
    28.02.2017, 18:23

    Chce zliczać wiersze które:
    - maja w nazwie "x" lub "y" (zakres 1) - ważne jest tutaj to lub
    - komórki nie są puste (zakres 2)

  • Michał Podciwiński
    Wpis na grupie Fani Excela w temacie LUB w Formule LICZ WARUNKI
    28.02.2017, 16:49

    Cześć wszystkim, znowu mam mały problem,
    Mam taką formule:
    =LICZ.WARUNKI(N10:N18;"W przygotowaniu";I10:I18;"<>")

    Chce do pierwszego kryterium dodać lub, tak by reagowała na jedną wartość i drugą.
    Coś takiego: (ale to oczywiście nie działa..)
    =LICZ.WARUNKI((LUB(N10:N18;"W przygotowaniu");(N10:N18;"Wysłana"));I10:I18;"<>")
    Próbowałem z "&" po tej formule, powtarzając to samo, tylko z inna wartością, ale wtedy zamiast 1 wyświetla się wartość 10.
    Macie rade? :)

  • Michał Podciwiński
    Wpis na grupie Fani Excela w temacie Data modyfikacji komórki EXCEL
    27.02.2017, 20:10

    Panowie, nie myślałem, że to będzie problem, ale jednak się pojawił..
    Mianowicie, chce wkleić kilka kodów VBA pod sobą w arkuszu, odnoszących się do innych statusów, wklejających datę w różnych komórkach.


    Option Explicit

    Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    If Target.Column = 14 And Target.Row >= 10 And Target.Row <= 100 Then
    If Target.Value = "Odrzucona" Then
    Target.Offset(0, -11).Value = Now
    Else
    If Target.Value = "" Then
    Target.Offset(0, -11).Value = ""
    End If
    End If
    End If
    End Sub

    Option Explicit

    Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    If Target.Column = 14 And Target.Row >= 10 And Target.Row <= 100 Then
    If Target.Value = "Zaakceptowana" Then
    Target.Offset(0, -12).Value = Now
    Else
    If Target.Value = "" Then
    Target.Offset(0, -12).Value = ""
    End If
    End If
    End If
    End Sub

    Jeden kod działa, ale jak wkleję dwa, to wyskakuje błąd:
    "Błąd kompilacji:

    Wykryto niejednoznaczną nazwę: Worksheet_Change
    (Sheet3 14:0)"

    Co zrobić by móc wklejać kilka kodów VBA pod sobą bez błędu? ;)

  • Michał Podciwiński
    Wpis na grupie Fani Excela w temacie Data modyfikacji komórki EXCEL
    20.02.2017, 19:10

    Andy L.:
    Jeśli wpisujesz listę bezpośrednio do DV to się nie uda aktualizacja daty

    Utwórz listę w jakiejś kolumnie w DV wybierz List a jako zakres zaznacz tę listę + jedna (pusta) komórka więcej. Żeby zaktualizować datę trzeba najpierw wybrać puste miejsce na liście a następnie wybrać to co chcesz wybrać

    else

    szukaj rozwiązań w VBA
    Zmodyfikowałem VBA i działa

    Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    If Target.Column = 4 And Target.Row >= 13 And Target.Row <= 100 Then
    If Target.Value = "Zakończono" Then
    Target.Offset(0, -2).Value = Now
    End If
    End If
    End Sub


    Dzięki panowie! jesteście niezastąpieni! ;)

  • Michał Podciwiński
    Wpis na grupie Fani Excela w temacie Data modyfikacji komórki EXCEL
    20.02.2017, 18:55

    Andy L.:
    Trochę to bez sensu jak dla mnie ale...
    =IF(D21="","",IF(B21="",NOW(),B21))

    Obojętnie co wybierzesz pokaże się data. Zniknie dopiero jak usuniesz wybór.
    Może nie opisałem tego jasno, chodzi tu o datowanie statusów, musze mieć wszystkie daty zlecenia Oferta/W produkcji/FV/Zakończono i każdy status musi mieć datę kiedy to się stało. Ten kod działa prawidłowo, ale nie zwraca nowej daty po zmianie statusu i powrocie do tego samego jeszcze raz.
    Niekiedy zdarza się tak, że zlecenie ma status "zakończono" ale klient nagle sie budzi, że chce poprawki i zlecenie musi miec zmieniony status na "w produkcji" dlatego ważne jest, by daty były zawsze aktualne - czyli ostatnia zmiana statusu.
    Dodałbyś jeszcze taką modyfikację? by zmieniało datę za każdym razem po zmianie na "zakończono" bez potrzeby kasowania listy?

  • Michał Podciwiński
    Wpis na grupie Fani Excela w temacie Data modyfikacji komórki EXCEL
    20.02.2017, 18:34

    Andy L.:
    Porównaj to co wpisałes w swoim poście i polskiej formule z tym:

    AND(B13="",D13="Zakonczone")
    ORAZ(B10="";B10="Zakończone")
    Masz rację, byka zrobiłem, poprawiłem i działa, tylko tak samo jak w przypadku VBA wyzej, data znika po zmianie statusu na inną nazwę
    =JEŻELI(R10="";"";JEŻELI(ORAZ(B10="";R10="Zakończone");TERAZ();JEŻELI(R10<>"Zakończone";"";B10)))

  • Michał Podciwiński
    Wpis na grupie Fani Excela w temacie Data modyfikacji komórki EXCEL
    20.02.2017, 18:20

    Andy L.:
    Oczywiście, że nie skoro warunek w formule różni się od twojej definicji w DV.
    Zakończone nie równa się Zakonczone
    Formuła ma być w B13 i w dół
    DV ma być w D13 i w dół

    Najpierw usuń tekst z DV po wybraniu czegokolwiek, data powinna "sie naprawić" :)
    Nazwa i nr komórek nie ma tu znaczenia (chyba, ze ważne sa polskie znaki przy formule, ale nie sądzę) , przy opisywaniu problemu podałem przykładowe, najważniejsze, że odnoszą się do poprawnych komórek. R=lista B=komórka z datą

  • Michał Podciwiński
    Wpis na grupie Fani Excela w temacie Data modyfikacji komórki EXCEL
    20.02.2017, 18:15

    Sławomir B.:
    Michał P.:

    Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    If Target.Column = 4 and target.row >=13 and target.row <=100 [/quote]> Then[quote] if target.value ="Zakonczone" then
    Target.Offset(0, -2).Value = Now
    else
    Target.Offset(0, -2).Value = ""
    end if
    End If
    End Sub
    Działa prawie super, tylko data znika po zmianie na inny status/nazwę.
    Można sprawić by zostawała do kolejnej zmiany?

  • Michał Podciwiński
    Wpis na grupie Fani Excela w temacie Data modyfikacji komórki EXCEL
    20.02.2017, 18:05

    Andy L.:
    A to vba do tego potrzeba?
    =IF(D13="","",IF(AND(B13="",D13="Zakonczone"),NOW(),IF(D13<>"Zakonczone","",B13)))


    Jedyne co trzeba to włączyć: Option => Formulas => Enable iterative calculation
    Ta funkcja nie działa, formuła wchodzi prawidłowo, bez błędu, ale po zmianie na "zakończone" lub cokolwiek innego cały czas jest data "00.01.1900" nie pomaga zmiana formatowania :(
    wklejam ze średnikami bo przecinków mi nie czyta, ale to chyba nie ma znaczenia.. ?
    =JEŻELI(R10="";"";JEŻELI(ORAZ(B10="";B10="Zakończone");TERAZ();B10))

  • Michał Podciwiński
    Wpis na grupie Fani Excela w temacie Data modyfikacji komórki EXCEL
    20.02.2017, 16:34

    To jest kod jaki mam, a opisałem w jaki sposób chciałbym go zmodyfikować.
    Pani Marzanno chodzi o to by po wybraniu z listy słowa np "zakończone" załóżmy, że to jest komórka D13, w komórce B13 (czyli ten sam nr wiersza, tylko inna kolumna), pojawiała sie data. Będę to stosował do statusów zadań, i muszę wiedzieć kiedy zadanie zostało zakończone, kiedy edytowane etc..

  • Michał Podciwiński
    Wpis na grupie Fani Excela w temacie Data modyfikacji komórki EXCEL
    20.02.2017, 15:39

    Witam,
    mam kod który pokazuje mi datę modyfikacji komórki w kolumnie obok:


    Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    If Target.Column = 3 Then
    Target.Offset(0, -1).Value = Now
    End If
    End Sub

    Potrzebuje zmodyfikować ten kod by w zakresie wierszy powiedzmy od B13:B100 wprowadzał datę zmiany w momencie wybrania z innego zakresu wierszy/listy wartości np "Zakończone" .
    Czyli wybieram z wiersza np D:13 z listy "zakończone" i w wierszu B13 pojawia mi się dzisiejszą data z godziną.
    Pomożecie? ;)

Dołącz do GoldenLine

Oferty pracy

Sprawdź aktualne oferty pracy

Aplikuj w łatwy sposób

Aplikuj jednym kliknięciem

Wyślij zaproszenie do