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: 63768 Skopiuj do schowka Przerobienie pliku do skanowania VBA
Autor Wiadomość
Bolo1991
Stały bywalec Excelforum


Pomógł: 3 razy
Posty: 414
Wysłany: 10-01-2019, 21:42   Przerobienie pliku do skanowania VBA

Witam,
Piszę z prośbą o przerobienie pliku do skanowania bo ja już się poddaje :( .
Problem jest z odbieraniem skanów z skanera do pliku , w 1 dzień czyta się 99% w drugi 50 % i tak cały czas.
Od początku zamysłem było, po włączeniu :
1) Userform z użytkownikami do logowania
2)Po zalogowaniu , jest jedno pole, które zczytuje skany, ostatnie 10 skanów pojawia się poniżej
3) Punkty zliczane przez PowerQuery - działa to bardzo fajnie- tu nie widzę potrzeby zmiany, pojawiają się na userform. Jedynie czego mi brakuje to odświeżanie PowerQuery z poziomu UserForm.
4) Autozapis ustawiony co 15 zapisuję plik i kopie . Przed zapisywaniem sprawdza czy serwer jest aktywny, jeśli nie nie zapisuje, jeśli tak zapisuje
5) Skany wbijają się do komórki A pomijając duplikaty (warunek konieczny), w momencie wbicia do komórki A, w komórce B pojawia się obok kto zalogowany a w C obok aktualna data- tak jak to ma miejsce teraz.

Ogólnie zasada musi pozostać taka sama, jedynie mi czego trzeba to wyjaśnić co tu zmienić, to ogarnąć moment zczytu skanu z skanera i wbicie do pliku bez jakichkolwiek kolizji , typu że coś się nie zaczyta.

Może ktoś się zainteresuje problemem.
Będę wdzięczny za każdą pomoc.
Pozdrawiam

SKAN SZKLENIE_TYPOWA.xlsm
Pobierz Plik ściągnięto 26 raz(y) 208.59 KB

ID posta: 360205 Skopiuj do schowka
 
 
ąćęłńóś
ExcelSpec


Pomógł: 186 razy
Posty: 847
Wysłany: 12-01-2019, 16:05   

1. Wciąż nie zrobiłeś porządków i nie poprawiłeś pewnych podprocedur - uparłeś się na te: "newRow2" (SKANOWANIE => Private Sub TextBox1_KeyDown) i przedziwnej urody, "Private Sub My_Sub_A"

2. Jak tu cokolwiek przerabiać, jak są miejsca, gdzie nie wiadomo o co chodzi ?
Przykład:
Kod:
Private Sub My_Sub_B(ByVal Target As Excel.Range)
    Set obszar = Intersect(Target, Range("E:E"))
    If obszar Is Nothing Then Exit Sub
    '...
End Sub

Dlaczego "Range("E:E")" u licha, skoro jedynym miejscem, gdzie coś w "E" jest robione, to formatka "OTWIERANIE => Private Sub TextBox1_KeyDown => ws.Range("E1").Value = TextBox1.Text" ?
Może chodzi o "Set obszar = Intersect(Target, Range("E1")) " ?
Co tu ma być właściwie sprawdzane ?
Może powinno to wyglądać jakoś tak:
(tylko co z tym "E:E" ?)
Kod:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim sciezka, sciezki
    Dim NazwaPliku As String, plik As String, poz As String
   
    If Target.Cells.Count > 1 Then Exit Sub
    If Trim(Target.Value) = "" Then Exit Sub
    If Intersect(Target, Range("E1")) Is Nothing Then Exit Sub '???
   
    sciezki = Array( _
        "\\xxx\deklaracje\deklaracja_anglia\", _
        "\\xxx\deklaracje\deklaracja_polska\", _
        "\\xxx\deklaracje\deklaracje_niemcy\", _
        "\\xxx\deklaracje\handel_belgia\", _
        "\\xxx\deklaracje\handel_francja\", _
        "\\xxx\deklaracje\handel_szwajcaria\", _
        "\\xxx\deklaracje\handel_wlochy\")
   
    poz = Trim(Target.Value)
    NazwaPliku = CStr(poz) & ".pdf"
    NazwaPliku = Replace(NazwaPliku, "/", "", 1, -1, 1)
   
    For Each sciezka In sciezki
        If Dir(sciezka & NazwaPliku, vbNormal) <> "" Then plik = sciezka & NazwaPliku: Exit For
    Next sciezka
   
    If plik = "" Then
        If InStr(poz, " ") > 0 Then poz = Left(poz, InStr(poz, " ") - 1)
        MsgBox "Dla tej pozycji:" & vbCrLf & poz & vbCrLf & "nie ma utworzonego raportu technologicznego !"
    Else
        ThisWorkbook.FollowHyperlink Address:=plik
    End If
End Sub

3. Funkcja "Ostatnie_x" rozmnożyła ci się jak króliki po nieudanej wielkanocy, zmień sobie np. na:
Kod:
Function Ostatnie_x(ile As Integer, Arkusz As Object, k, Optional frmt = "@") As String
    Dim w As Long, wrs As Long, ost_w As Long, strg As String
   
    ost_w = Arkusz.Cells(Arkusz.Rows.Count, k).End(xlUp).Row
    If ost_w = 1 Then Ostatnie_x = "": Exit Function
    If ost_w > (ile + 1) Then wrs = ost_w - (ile - 1) Else wrs = 2
    For w = wrs To ost_w
        strg = strg & Format(Arkusz.Cells(w, k).Value, frmt) & vbNewLine
    Next
    Ostatnie_x = Left(strg, Len(strg) - 2)
End Function

i przerzuć ją do modułu standardowego, do innych funkcji.
Wywoływana np. tak:
Kod:
        .TextBox3.Value = Ostatnie_x(10, Arkusz1, "a")
        .TextBox4.Value = Ostatnie_x(6, Arkusz3, "a")
        .TextBox5.Value = Ostatnie_x(6, Arkusz3, "b", "yyyy-mm-dd h:mm")
        .TextBox6.Value = Ostatnie_x(6, Arkusz3, "c")

4. W "UserForm_Initialize" danej formatki, to według mnie, nie używaj "Me", tylko właściwej nazwy, przecież tak na dobrą sprawę owo "Me", to wtedy jeszcze "nie istnieje", zaistnieje jak się zmaterializuje po załadowaniu/wyświetleniu formatki.

5. W "SKANOWANIE", to zrób sobie gdzieś weryfikację typu:
Kod:
    If Trim(Me.TextBox1.Value) = "" Then MsgBox "Pusty wpis - koniec": Exit Sub
    If Trim(Me.TextBox2.Value) = "" Then MsgBox "Brak loginu, czy to możliwe ?" & vbCrLf & "Koniec": Exit Sub

Po co znęcać się nad "Worksheet_Change" ewentualnymi pustymi wpisami ?

6. Można by odciążyć odrobinę arkusz i zamiast nazwy zdefiniowanej "umowy" ("=PRZESUNIĘCIE(SZKLENIE!$A$1;1;;ILE.NIEPUSTYCH(SZKLENIE!$A$1:$A$2047)-1;3)")
oraz
Kod:
        Range("umowy").RemoveDuplicates Columns:=1, Header:=xlNo

zrobić coś takiego:
Kod:
        With ThisWorkbook.Sheets("SZKLENIE").Range("a1").CurrentRegion
            .Offset(1, 0).Resize(.Rows.Count - 1, .Columns.Count).RemoveDuplicates Columns:=1, Header:=xlNo
        End With
ID posta: 360300 Skopiuj do schowka
 
 
Bolo1991
Stały bywalec Excelforum


Pomógł: 3 razy
Posty: 414
Wysłany: 12-01-2019, 17:33   

Teraz już totalnie nic z tego nie rozumiem :(
O ile usuwanie duplikatów rozumiemiem i może być w ten sposób to dalej jest problem z czym innym.

Zacznijmy od początku:
Po włączeniu arkusza pojawia się userform i tak albo są 4 osoby do logowania:
W momencie kliknięcia przechodzimy na procedurę skanowanie gdzie mam się wbić skan do komórki A obok kto a w kolumne C aktualna data i godzina.
Jeśli się nie logujemy na użytkownika możemy wejść na wyszukiwarkę lub otwieranie.
Właśnie po to jest ta procedura Sub B bo ma się otwierać po wejść do komórki B1 skanu i faktycznie masz rację nie musi być to zakres, może być to komórka B1.

Tylko w dalszym ciągu nie wiem jak to ustawić w kodzie wszystko tak mi się to już namotało i nie wiem czy tez miany będą mieć jakikolwiek wpływ na to z czym ma problem.

Ja cały czas uważam że tu jest problem z przechwytywaniem skanów do textboxa, bo jak nie zablokowałem na arkusz textboxa , skany potrafiły wbijać się nie do tego co trzeba pola.
ąćęłńóś Twoje zmiany wydają się być rozsądne tylko totalnie już nie wiem jak to ułożyć w kodzie tym co mam :(
ID posta: 360304 Skopiuj do schowka
 
 
Bolo1991
Stały bywalec Excelforum


Pomógł: 3 razy
Posty: 414
Wysłany: 12-01-2019, 19:35   

Wynika z tego że mam problem z przerobieniem tych procedur :
Kod:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
            My_Sub_A Target
            My_Sub_B Target
           
End Sub



Private Sub My_Sub_A(ByVal Target As Excel.Range)
Dim Tbl()
Dim i&

Tbl = Array(Columns(1))
     For i = 0 To UBound(Tbl)
        If Not Intersect(Target, Tbl(i)) Is Nothing And Target.Count = 1 Then
        Cells(Target.Row, 3 + i).Value = Now
        Cells(Target.Row, 3 + i).NumberFormat = "yyyy-mm-dd h:mm"
            If IsEmpty(Target) Then
                 Cells(Target.Row, 3 + i).Value = ""
            End If
        End If
       
    Next

End Sub




Private Sub My_Sub_B(ByVal Target As Excel.Range)
Dim Sciezka As Variant, Sciezki As Variant
Dim NazwaPliku As String, msg As String, plik As String
Dim obszar As Range, kolejnakomorka As Range

Set obszar = Intersect(Target, Range("E:E"))
If obszar Is Nothing Then Exit Sub

Sciezki = Array( _
    "\\xxx\deklaracje\deklaracja_anglia\", _
    "\\xxx\deklaracje\deklaracja_polska\", _
    "\\xxx\deklaracje\deklaracje_niemcy\", _
    "\\xxx\deklaracje\handel_belgia\", _
    "\\xxx\deklaracje\handel_francja\", _
    "\\xxx\deklaracje\handel_szwajcaria\", _
    "\\xxx\deklaracje\handel_wlochy\")
   
For Each kolejnakomorka In obszar
 
  If kolejnakomorka.Value <> "" Then
        NazwaPliku = CStr(kolejnakomorka.Value) & "" & ".pdf"
        NazwaPliku = Replace(NazwaPliku, "/", "")
       
       If InStr(kolejnakomorka, " ") > 0 Then
          kolejnakomorka = Left(kolejnakomorka, InStr(kolejnakomorka, " ") - 1)
        End If
   
        For Each Sciezka In Sciezki
            If Dir(Sciezka & NazwaPliku) <> "" Then
                plik = Sciezka & NazwaPliku



ActiveWorkbook.FollowHyperlink Address:=plik
                Exit For
            End If
         Next Sciezka
         If plik = "" Then msg = msg & kolejnakomorka.Value & vbLf
    End If
   
    plik = ""

Next kolejnakomorka
   
'If msg <> "" Then
        'MsgBox "Dla tej pozycji: " & msg & " nie ma utworzonego raportu technologicznego!"
'End If
 
End Sub








Kod:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

Dim ws As Worksheet
Dim newRow As Long, newRow2 As Long

If KeyCode = vbKeyReturn Then
Set ws = Sheets("SZKLENIE")
    newRow = Application.WorksheetFunction.CountA(ws.Range("A:A")) + 1
 newRow2 = Application.WorksheetFunction.CountA(ws.Range("A:A")) + 1

 
   ' ws.Range("A1").Value = TextBox1.Text
     ws.Cells(newRow, 1).Value = TextBox1.Text
    ws.Cells(newRow, 2).Value = TextBox2.Text

    'ws.Range("A1:A2").PrintOut
    'KeyCode = vbKeyPageDown   ' edited: write line to bottom before End If
     'Me.TextBox1.SetFocus      ' << original code line without effect
    Me.TextBox1 = ""
   
    KeyCode = vbKeyPageDown     ' << modify Enter key value to prevent from tab hopping
    ' Me.TextBox1.SetFocus      ' << original code line without effect
   
    With ThisWorkbook.Sheets("SZKLENIE").Range("A1").CurrentRegion
            .Offset(1, 0).Resize(.Rows.Count - 1, .Columns.Count).RemoveDuplicates Columns:=1, Header:=xlNo
        End With
End If
  If IsEnter Then
        Application.OnTime Now, "Code_Focus"
        IsEnter = False
    End If
TextBox3.Value = Ostatnie_x(10, Arkusz1, "a")
TextBox4.Value = Ostatnie_x(6, Arkusz3, "a")
TextBox5.Value = Ostatnie_x(6, Arkusz3, "b", "yyyy-mm-dd")
TextBox6.Value = Ostatnie_x(6, Arkusz3, "c")
End Sub


Czyli z tego tą część kodu przerobić muszę :
Kod:
    newRow = Application.WorksheetFunction.CountA(ws.Range("A:A")) + 1
 newRow2 = Application.WorksheetFunction.CountA(ws.Range("A:A")) + 1

 
   ' ws.Range("A1").Value = TextBox1.Text
     ws.Cells(newRow, 1).Value = TextBox1.Text
    ws.Cells(newRow, 2).Value = TextBox2.Text

 


Z tym tylko mam problem.
ID posta: 360314 Skopiuj do schowka
 
 
ąćęłńóś
ExcelSpec


Pomógł: 186 razy
Posty: 847
Wysłany: 12-01-2019, 21:38   

Bolo1991 napisał/a:
nic z tego nie rozumiem ...
... po to jest ta procedura Sub B bo ma się otwierać po wejść do komórki B1...
... nie musi być to zakres, może być to komórka B1

No to "fakticznie sie dogadlym" ... :-> ... ja też nie wiem ... skąd ci się teraz wzięło to "B1" ???
W tych "wszystkich" swoich 'inter-sektach", a jest ich aż jeden (drugiego w "My_Sub_A" nie liczę, bo to makro to raczej do usunięcia jest) ... masz odniesienie do "E:E", w innym miejscu do "E1" (formatka OTWIERANIE), pytanie po co (?), skoro w kolumnie "E", prócz "E1" nic się nie dzieje takiego, żeby sprawdzać cały zakres tej kolumny pod kątem interakcji z obiektem Target.
Stąd było moje pytanie co właściwie robi podprocedura "My_Sub_B" w tej swojej części sprawdzającej z "Set obszar = Intersect(Target, Range("E:E"))", bo może w ogóle jest to, ten "intersect", niepotrzebne ? Co robi cała podprocedura, to widać ... tylko to "intersect" "skrzyżowujące" "Target" z "E:E" nie pasuje tu ...

Bolo1991 napisał/a:
Tylko w dalszym ciągu nie wiem jak to ustawić w kodzie wszystko tak mi się to już namotało

Trzeba wpierw zrobić porządki we wszystkich makrach, na tyle na ile to możliwe, i zastanowić się (teoretycznie i praktycznie) czy odniosły pożądany skutek.

1. Co to jest właściwie konstrukcyjnie za numer, przykładowo: "PF8/9445T 001001016" ?
W wyszukiwarce masz rozdział na nr umowy i operatora - Czy połączenie numeru umowy i operatora daje właśnie ów numer "PF8/9445T 001001016" ? Tak by wynikało z kodu ...

2. Po co jest komórka "E1", do czego służy (prócz tego że przechowuje nr umowy/inny ?) ?
Czy konieczna jest jej weryfikacja (zawartości, lokalizacji, itp.) ?

3. Z kodu w "My_Sub_B" wynika, że sprawdzany jest tylko fragment numeru (np. "PF8/9445T 001001016"), do pierwszego odstępu (czyli "PF8/9445T"), pod kątem budowania nazwy pliku w konkretnej lokalizacji. Tak jest rzeczywiście ?

4. Czy podprocedura "Worksheet_Change" (SZKLENIE) ma reagować na dane wpisywane z formatki "SKANOWANIE" i "OTWIERANIE", czy tylko na wpisywanie danych z jednej z nich ?
ID posta: 360322 Skopiuj do schowka
 
 
ąćęłńóś
ExcelSpec


Pomógł: 186 razy
Posty: 847
Wysłany: 13-01-2019, 00:29   

Prócz tych pytań powyżej, takie spostrzeżenie: procedury zdarzeniowe KeyDown/KeyUp wychwytują reakcje klawiszy w obrębie ustawionego zogniskowania (Focus) danej kontrolki (tu TextBox1) - "daje się zauważyć" ... :-> ... ich reakcję na całą serię sygnałów, począwszy od reakcji na podprocedurę "SaveThis", funkcję "Ostatnie_x", jak również na znaki alfanumeryczne wpisywanego kodu.
Wynika z tego, że gdy w jednym czasie zbiegną się sygnały z różnych miejsc (skanowanie, "SaveThis", inne) w jednym miejscu, to ... bywa dziwnie ...
ID posta: 360328 Skopiuj do schowka
 
 
Bolo1991
Stały bywalec Excelforum


Pomógł: 3 razy
Posty: 414
Wysłany: 13-01-2019, 07:27   

Już wszystko tłumaczę :
Cytat:
1. Co to jest właściwie konstrukcyjnie za numer, przykładowo: "PF8/9445T 001001016" ?
W wyszukiwarce masz rozdział na nr umowy i operatora - Czy połączenie numeru umowy i operatora daje właśnie ów numer "PF8/9445T 001001016" ? Tak by wynikało z kodu ...


Ten numer PF8/9445T 001001016 to nic innego jak skan, który zczytuje z etykiety czytnik, wbija do textbox, a on unikając duplikatów układa je w kolumnie A. Wyszukiwarka to nic innego jak pokaz na formularzu kolumny A B C .


Cytat:
2. Po co jest komórka "E1", do czego służy (prócz tego że przechowuje nr umowy/inny ?) ?
Czy konieczna jest jej weryfikacja (zawartości, lokalizacji, itp.) ?


Komórka E1 jet potrzebna do procedury Sub B, ponieważ gdy otwiorzy się na userform, Otwieranie umów PDF, to wyskakuje nam textbox do którego skanujemy numer jak powyżej , w momencie wbicia do komórki E1 uruchamia się procedura Sub B i otwiera nam się raport z lokalizacji w PDF. Dlatego musi to być rozdzielony bo mam 2 procedury, które są oddzielne.

Cytat:
3. Z kodu w "My_Sub_B" wynika, że sprawdzany jest tylko fragment numeru (np. "PF8/9445T 001001016"), do pierwszego odstępu (czyli "PF8/9445T"), pod kątem budowania nazwy pliku w konkretnej lokalizacji. Tak jest rzeczywiście ?


Tak ponieważ pdf się nazywa PF89445T , inaczej by się nie otwarł , dopasowuje nazwę z komórki do nazwy pliku PDF, zgodna otwiera raport PDF .


Cytat:
4. Czy podprocedura "Worksheet_Change" (SZKLENIE) ma reagować na dane wpisywane z formatki "SKANOWANIE" i "OTWIERANIE", czy tylko na wpisywanie danych z jednej z nich ?


Tak, jak wyżej w SKANOWANIE reaguje ona na dodanie aktualnej daty z systemu, wchodzi nam skan do komórki A i ma się wbić od razu kto zeskanował do komórki B i do komórki C aktualna data. Dlatego to mam :
Kod:
  newRow = Application.WorksheetFunction.CountA(ws.Range("A:A")) + 1
 newRow2 = Application.WorksheetFunction.CountA(ws.Range("A:A")) + 1

 
   ' ws.Range("A1").Value = TextBox1.Text
     ws.Cells(newRow, 1).Value = TextBox1.Text
    ws.Cells(newRow, 2).Value = TextBox2.Text


Co do ostatniego posta, też wydaję mi się że problem leży gdzieś tutaj, wygląda na to że skan nie wie gdzie ma wylądować , jak miałem aktywny na arkuszu textbox1 i textbox2 to skan potrafił raz trafić tu i raz tu co powodowało braki. Jak zablokowałem textbox2 problem jak by zniknął.

Od poniedziałku w firemce mam nowy serwer, poprzedni się spalił ( może on był przyczyną bo lubił się zawieszać co chwilę ) , ale to będe testował cały ten tydzień.
ID posta: 360333 Skopiuj do schowka
 
 
ąćęłńóś
ExcelSpec


Pomógł: 186 razy
Posty: 847
Wysłany: 13-01-2019, 12:16   

1. Tak więc wychodzi na to, że "Worksheet_Change" ze swoimi pobratymcami jest w ogóle niepotrzebne, to co robi załatwi się bezpośrednio z formatek.
2. Przchwytywacze klawiszy są głośne i jak śmietniczka, zbierają wszystko.

Wydaje mi się, że procedura zdarzeniowa z _Exit (TextBox1_Exit) byłaby lepsza, wyszukiwanie też trzeba było odrobinę zmienić, sprawdź sobie poprawki i co z tego wyszło (nie siliłem się na pisanie podprocedur od początku, przerabiałem twoje).
No i przywróć sobie wielkość formatek, albo skorzystaj tylko z kodu, obejrzyj sobie tych parę znaków zapytania i zastanów się czy jest to potrzebne. W swoich formatkach musisz poprawić kolejność przechodzenia klawiszem Tab po elementach formatek, masz bałagan.

SKAN SZKLENIE_TYPOWA_2019-01-10_problem_popr.zip
Pobierz Plik ściągnięto 17 raz(y) 209.63 KB

ID posta: 360346 Skopiuj do schowka
 
 
Bolo1991
Stały bywalec Excelforum


Pomógł: 3 razy
Posty: 414
Wysłany: 13-01-2019, 12:58   

Dzięki, mam 2 pytania , wydaję mi się że logowanie teraz dużo dłużej się otwiera jak wybiera się użytkownik, a druga sprawa jak nacisnę Otwieranie umów w PDF w ogóle się nie otwiera , kręci się kółeczko i muszę zresetować całego excela żeby go otworzyć.
A 2 pytanie, czy z poziomu userform , mogę mieć przycisk żeby to co pokazuje poniżej textbox z power query po naciśnięciu się to odświeżało ?
ID posta: 360350 Skopiuj do schowka
 
 
ąćęłńóś
ExcelSpec


Pomógł: 186 razy
Posty: 847
Wysłany: 13-01-2019, 13:37   

Bolo1991 napisał/a:
... wydaję mi się że logowanie teraz dużo dłużej się otwiera jak wybiera się użytkownik ...
Przy otwaciu pliku "Workbook_Open" może i czasami dłużej pracuje, ale przy wywoływaniu (z "LOGOWANIE") formatki "SKANOWANIE", to nie zauważam czegoś takiego.

Bolo1991 napisał/a:
... jak nacisnę Otwieranie umów w PDF w ogóle się nie otwiera
U mnie ze zwykłymi ścieżkami dyskowymi działa.

Przekopiuj makra do swojego zeszytu, ten konwertowany po parę razy z xlsm na xls i z powrotem może się "rozlazł".

Bolo1991 napisał/a:
przycisk żeby to co pokazuje poniżej textbox z power query po naciśnięciu się to odświeżało
Nie sprawdzę tego na starym excelu, ale spróbuj czegoś takiego, tylko nazwę połączenia musisz znać.
Kod:
Private Sub CommandButton8_Click()
    ThisWorkbook.Connections("Nazwa_połączenia").Refresh
    '
    'Albo jakoś tak
    'ThisWorkbook.Connections(1).ODBCConnection.Refresh
    'ThisWorkbook.Connections(1).OLEDBConnection.Refresh
End Sub
ID posta: 360353 Skopiuj do schowka
 
 
Bolo1991
Stały bywalec Excelforum


Pomógł: 3 razy
Posty: 414
Wysłany: 13-01-2019, 15:01   

Po skopiowaniu wszystkie wyskakuje tym razem błąd tutaj, gdy skan się wbija naciska się z skanera enter to pojawia się to co w załączniku.

Druga sprawa odświeżanie działa albo metoda :
Kod:
ActiveWorkbook.RefreshAll

lub Twoja pierwsza propozycja.
Tylko o ile jak najedzie się na tabele to godzina aktualizacji jest aktualna i wszystko odświeża to nie odzwierciedla się to na userformie, tam się nie aktualizuje.

Bez tytułu1.jpg
Plik ściągnięto 9 raz(y) 24.03 KB

ID posta: 360365 Skopiuj do schowka
 
 
ąćęłńóś
ExcelSpec


Pomógł: 186 razy
Posty: 847
Wysłany: 13-01-2019, 15:11   

A błąd jaki, jaki jego opis ?
ID posta: 360367 Skopiuj do schowka
 
 
Bolo1991
Stały bywalec Excelforum


Pomógł: 3 razy
Posty: 414
Wysłany: 13-01-2019, 15:24   

Drugi raz uruchomiłem błąd zniknął.
Dalej problem mam z tym:
Druga sprawa odświeżanie działa albo metoda :
Kod:

ActiveWorkbook.RefreshAll

lub Twoja pierwsza propozycja.
Tylko o ile jak najedzie się na tabele to godzina aktualizacji jest aktualna i wszystko odświeża to nie odzwierciedla się to na userformie, tam się nie aktualizuje.

Jeszcze co zauważyłem do przycisku, który jest na Arkuszu 1 , nie mogę przypisać makra okno. Czemu ?
ID posta: 360369 Skopiuj do schowka
 
 
ąćęłńóś
ExcelSpec


Pomógł: 186 razy
Posty: 847
Wysłany: 13-01-2019, 16:25   

Bolo1991 napisał/a:
nie odzwierciedla się to na userformie, tam się nie aktualizuje

No bo to ... to trzeba by było dopiero opisać jakimś ko(t/d)em ...

Bolo1991 napisał/a:
do przycisku, który jest na Arkuszu 1 , nie mogę przypisać makra okno

No bo to ... to trzeba by było zrobić u ciebie od początku ... tak mają konwersje arkuszy plików xls stary/nowy/stary (u mnie nigdy nie działają arkuszowe "CommandButton") ... tylko przed próbą przypisania makra do nowego przycisku "Okno" należałoby zablokować chwilowo "Option Private Module", które "ukrywa" spis dostępnych makropoleceń.
ID posta: 360375 Skopiuj do schowka
 
 
Bolo1991
Stały bywalec Excelforum


Pomógł: 3 razy
Posty: 414
Wysłany: 13-01-2019, 17:03   

Dzięki z przyciskiem sobie poradziłem, z odświeżaniem na razie nie :)
ID posta: 360379 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