vbamania.pl
login:
hasło:
 
  *Rejestracja *Zapomniane hasło
 Dziś jest niedziela, 28 kwietnia 2024 roku.
Ustaw jako stronę startową Ulubione Napisz
PowrótPowrót do serwisu  RegulaminRegulamin rssRSS

  tytuł wątku:
Wątki dyskusji

Problem z formatowaniem cell.


otwartyotwarty rozpoczął: jamanow postów: 7



napisał: jalamas
postów: 316


umieszczony:
31 lipca 2012
14:18

  
http://support.microsoft.com/kb/78113/pl
http://support.microsoft.com/kb/214118/pl
napisał: Trebor
postów: 1209


umieszczony:
30 lipca 2012
20:08

  
Zagadki są w tym wszystkim najciekawsze. Jaki błąd wywołuje mój kod, a nie wywołuje ten bardziej rozbudowany. Nie chodzi tutaj o moje ambicje, ale o zrozumienie problemu. Co mam zrobić aby go wyłapać. Trochę się domyślam, a chcę mieć pewność.
napisał: jamanow
postów: 69


umieszczony:
30 lipca 2012
18:43

  
Uproszczenie kodu, które dokonałeś wpisuje ref.numer wydawałoby się poprawnie, niestety uproszczona procedura ponownie cierpi na ta sama dolegliwość. Mianowicie ref. Numer, który wypisuje zakłóca działanie procedury exportu, która działa poprawnie w przypadku użycia "nieuproszczonego kodu".
Zagadka lezy prawdopodobnie w linii:
PM_Index.Cells(x, 1).Offset(1, 1).DataSeries Rowcol:=xlColumns, Type:=xlLinear, Date:=xlDay, Step:=0.1, Stop:=huvNrDetalj + 0.9, Trend:=False

która formatuje ref.numer w odpowiedni sposób. i tego właśnie nie bardzo rozumie.

Rozwiązanie zagadki ma nie ma dla mnie żywotnego znaczenia, tak naprawdę to istotne dla mnie jest to ze kod działa poprawnie. Dlatego nie zawracaj sobie tym głowy. Jak na razie to jestem ci bardzo wdzięczny za dotychczasową, wielokrotną pomoc i memento :)
napisał: Trebor
postów: 1209


umieszczony:
30 lipca 2012
15:53

  
Podany przez Ciebie kod można uprościć do postaci:
Sub PrintDecimalRefNrRefNrInPMindexList_ColumnB()
Dim x As Long

For x = 8 To PM_Index.Cells(Rows.Count, 1).End(xlUp).Row
If PM_Index.Cells(x, 1) <> "" Then
    PM_Index.Cells(x, 2).Value = Mid(PM_Index.Cells(x, 1), 3, 4)
        Else
            PM_Index.Cells(x, 2).Value = PM_Index.Cells(x, 2).Offset(-1, 0) + 0.1
                End If
Next x

End Sub


Może być trochę wolniejszy, ale przy obecnej ilości danych nie będzie to zauważalne.
Czy ta postać jest dla Ciebie czytelniejsza?
napisał: jamanow
postów: 69


umieszczony:
30 lipca 2012
11:10

  
Kod, który proponujesz mimo poprawki nie do końca działa tak jak bym sobie życzył. Problemem źródłowym jest to ze od początku złe kombinowałem. Zdaje sobie sprawę ze nie łatwo pomoc jest osobie, która nie do końca potrafi zdefiniować swoje wymagania.
Rozwiązaniem, które rozwiązuje mój problem jest poniższy kod wpisujący referens numer.

Sub PrintDecimalRefNrRefNrInPMindexList_ColumnB()
On Error Resume Next
Dim x, LastRow As Integer
LastRow = PM_Index.Cells(Rows.Count, 1).End(xlUp).Row
For x = 1 To LastRow
If PM_Index.Cells(x, 1) <> "" Then
    Dim huvNrDetalj As Double
    
    huvNrDetalj = Mid(PM_Index.Cells(x, 1), 3, 4)
      
    PM_Index.Cells(x, 1).Offset(1, 1).Value = huvNrDetalj + 0.1
    PM_Index.Cells(x, 1).Offset(1, 1).DataSeries Rowcol:=xlColumns, Type:=xlLinear, Date:=xlDay, Step:=0.1, Stop:=huvNrDetalj + 0.9, Trend:=False
End If

Next x

On Error GoTo 0
End Sub



Przyznam jednak ze nie do końca rozumie, dlaczego właśnie to rozwiązanie formatuje wartości numeryczne tak jag chce.
Dzięki Trebor za pomoc. Twoje rozwiązanie mimo wszystko pokazało mi cos nowego.
napisał: Trebor
postów: 1209


umieszczony:
29 lipca 2012
20:06

  
Nie wiem jak chcesz aby to działało. Zacznijmy od procedurki
Sub PrintDecimalRefNrRefNrInPMindexList_ColumnB()
Dim cll As Range
     
    For Each cll In Range("B8:B1298")
    If IsNumeric(cll) And cll <> "" Then
        cll.Value = cll.Value + 0.1
            Else
                cll.Value = cll.Offset(-1, 0) + 0.1
                    End If
    Next cll
End Sub

napisał: jamanow
postów: 69


umieszczony:
29 lipca 2012
15:04

edytowany:
29 lipca 2012
15:05

  
nazwa pliku rozmiar
ImportExport-formatProblem.rar 55.66 kB

Problem z formatowaniem cell.
Zamiast szczegółowo opisywać problem załączam dodatek, w którym można dokładnie zobaczyć, o co mi chodzi.

Problem polega na formacie kolumny B:B w arkuszu PM_Index_1000. A raczej procedury PrintDecimalRefNrRefNrInPMindexList_ColumnB, która wypełnia kolumnę B:B numerem indeksowym
Niepoprawny format numeru indeksowego powoduje nieprawidłowe działanie procedury Export. Zadaniem tej procedury jest przepisanie danych z arkusza Dxxxx do arkusza PM_Index_1000.


<-wstecz  1  dalej->
wszystkich stron: 1


Sortuj posty: z