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: 64442 Skopiuj do schowka błąd wartości przy otwieraniu pliku makrem
Autor Wiadomość
Lwica 
Fan Excela


Posty: 62
Wysłany: 15-03-2019, 08:55   błąd wartości przy otwieraniu pliku makrem

Cześć
Podczas zrzucania z SAPa danych zapisuję je jako Arkusz kalkulacyjny....pliki te mają rozszerzenie .xls.
Podaje jako poglądowy plik....ale został on przeze mnie zmodoyfikowany o inf któych tutaj nie mogę podać w związku z czym nie jest on w rzeczywistości oryginalnym plikiem z SAPa.
Chodzi o to że jak otwieram plik normalnie to dane które są oznaczone w kol H metrami lub feetami widzę w kol I z przecinkami.....
Natomiast gdy ten plik otwiera makro to te przecinki znikają....nie ma ich.....co mocno zmienia postać danych. Co ciekawe przecinki nadal widoczne są w kol M gdzie zapisana jest wartość.
Przecinki znikają tylko z kolumny I.

Podaję kawałek kodu który otwiera plik:


Kod:
Sub PWA_INVENTORY_aktualizacja_2()
'
' utworzone przez Artur Klajber
'
    Dim nazwa As String, wnazwa As String
    Dim nazwa2 As String, wnazwa2 As String
    Dim nazwa3 As String, wnazwa3 As String
    Dim wnazwa1 As String
    Dim lRow As Long, lCol As Long, lRow3 As Long
    Dim lRow2 As Long, lCol2 As Long, kol1 As Long
    Dim tekst As String
    Dim i As Long, j As Long, k As Long
    Dim nplik As String
    Dim rok As Integer
    Dim ziom As String
    Dim PTcache As PivotCache
    Dim PT As PivotTable
    Dim msc As Date
    Dim zak1 As Range
    Dim a As Double, b As Double, c As Double, d As Double
    Dim objFSO As Object 'Scripting.FileSystemObject
   
    ziom = Environ("Username")
   
    rok = Left(Date, 4)

    Call Shell("xcopy ""x:\Log\INVENT\INV" & rok & "\Actuals\PPP.xlsx"" ""c:\Users\" & ziom & "\Desktop\BackUP"" /Y /S", vbNormalNoFocus)

    Workbooks.Open filename:="x:\Log\INVENT\INV" & rok & "\Actuals\PPP.xlsx", WriteResPassword:="xxxx", IgnoreReadOnlyRecommended:=True, UpdateLinks:=False
    Sheets("DANE").Activate
    nazwa = ActiveSheet.Name
    wnazwa = ActiveWorkbook.Name
   
'    ActiveWorkbook.SaveAs filename:= _
'        "C:\Users\" & ziom & "\Desktop\BackUp\INVENT PWW.xlsx", _
'        FileFormat:=xlOpenXMLWorkbook, CreateBackup:=True

    Columns("S:X").Copy
    Columns("S").Insert Shift:=xlToRight
    Application.CutCopyMode = False
    Range("S1") = Date
   
    lRow = Cells(Rows.Count, 19).End(xlUp).Row
   
    Range(Cells(3, 19), Cells(lRow - 1, 24)).ClearContents
   
   
''''''''''''''''''''''''''''''''''''''''' FPS ''''''''''''''''''

    MsgBox "Wskaż plik z magazynem"
    ChDrive "x"
    ChDir "x:\Log\INVENT\INV" & rok & "\MagWIP\"
    nplik = Application.GetOpenFilename("Wszystkie pliki (*.*), *.*")
    Workbooks.Open filename:=nplik


plik.XLS
Pobierz Plik ściągnięto 4 raz(y) 28.5 KB

ID posta: 364275 Skopiuj do schowka
 
 
Maciej Gonet 
Excel Expert


Wersja: Win Office 2016
Pomógł: 1225 razy
Posty: 4202
Wysłany: 15-03-2019, 09:28   

Ten problem ma zapewne związek z nieprawidłową konwersją amerykańskiego formatu liczb z kropkami dziesiętnymi na nasz z przecinkami. Ale z tego, co przedstawiłaś niewiele wynika. Jaki jest związek załączonego pliku z pokazanym fragmentem kodu? W którym miejscu kodu ten plik ma być otwierany? Nie wyjaśniłaś też, co znaczy "przecinek znika". Np. w komórce I9 jest 2,479 i ten zapis ma znaczyć 2 i 479 tysięcznych, a po otwarciu pliku kodem jest 2479? Czy może 2 479 ze spacją? Za dużo tu niejasności, aby zrozumieć ten problem.
ID posta: 364278 Skopiuj do schowka
 
 
Lwica 
Fan Excela


Posty: 62
Wysłany: 15-03-2019, 09:50   

Problem pojawia się w momencie "Wskaż plik z magazynem"
Załączam plik otwarty makrem. Przecinka po prostu nie ma......ale nadal jest dla liczb mniejszych niż 1.

plik po otwarciu.xlsx
Pobierz Plik ściągnięto 3 raz(y) 10.52 KB

ID posta: 364282 Skopiuj do schowka
 
 
Maciej Gonet 
Excel Expert


Wersja: Win Office 2016
Pomógł: 1225 razy
Posty: 4202
Wysłany: 15-03-2019, 10:32   

Ja nie widzę żadnej różnicy pomiędzy plikiem Plik.xls z pierwszego postu otwartym bezpośrednio, a tym samym plikiem otwartym Twoim kodem tzn.
Kod:
Sub Otwiera()
    Dim nplik As String
    MsgBox "Wskaż plik z magazynem"
    nplik = Application.GetOpenFilename("Wszystkie pliki (*.*), *.*")
    Workbooks.Open Filename:=nplik
End Sub
Jeśli ta postać pliku jest właściwa, to może wystarczy plik oryginalny otworzyć i zapisać, a później otwierać kodem już te kopię. Podejrzewam, że jednak formatowanie oryginalnego pliku, który otwierasz jest inne, ale ta wersja, którą załączyłaś (Plik.xls) jest już zmodyfikowana i nie widać w niej oryginalnego formatowania.
ID posta: 364286 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