Twoje PC  
Zarejestruj się na Twoje PC
TwojePC.pl | PC | Komputery, nowe technologie, recenzje, testy
B O A R D
   » Board
 » Zadaj pytanie
 » Archiwum
 » Szukaj
 » Stylizacja

 
M E N U
  0
 » Nowości
0
 » Archiwum
0
 » Recenzje / Testy
0
 » Board
0
 » Rejestracja
0
0
 
Szukaj @ TwojePC
 

w Newsach i na Boardzie
 
OBECNI NA TPC
 
 » PCCPU 02:08
 » Visar 02:08
 » Star Ride 01:39
 » ulan 01:39
 » Martens 01:26
 » metacom 01:09
 » Soulburne 00:30
 » doxent 00:24
 » @GUTEK@ 23:52
 » chris01 23:40
 » ripek 23:30
 » rooter666 22:58
 » sszpila 22:45
 » luzak2363 22:44
 » Artaa 22:38

 Dzisiaj przeczytano
 58599 postów,
 wczoraj 557004

 Szybkie ładowanie
 jest:
włączone.

 
ccc
TwojePC.pl © 2001 - 2026
A R C H I W A L N A   W I A D O M O Ś Ć
    

excel - potrzebna pomoc pilne ogromnie , DeK 21/11/04 11:42
Mam dwa makra do excela ..celem jest kasowanie dziesiętnych gdy uzytkownik do formularza wpisze 46,77 to ucina ,77 i zostaje 46 Uprzedzając niektóre odpowiedzi nei da się tego zrobić z pozycji formatowania komórki w excleu w grę wchodzi tylko makro.
A więc mam dwa makra. Jedno działa wysmienicie obcina dziesiętne i nie pozostawia zera gdy komórka jest pusta.
Ale nie działa z komórkami które są scalone z 2 lub wiecej kolumn.
Drugie makro działa ze scalonymi komórkami ale gdy nie ma danych w komórce to wyświetla się zero..
Moja gorąca prośba to szłozyc z tych 2 przykładów jeden działający poprawnie. Czyli kasujący dziesiętne, działający z komórkami scalonymi z kilku kolumn, i nie wyświetlający zera gdy w komórce nie została wpisana żadna liczba.


Makro 1.

Private Sub Worksheet_Change(ByVal Target As Range)

For i = 1 To Target.Areas.Count
With Target.Areas(i)
For j = Target.Areas(i).Row To Target.Areas(i).Row + Target.Areas(i).Rows.Count
For k = Target.Areas(i).Column To Target.Areas(i).Column + Target.Areas(i).Columns.Count

If k = 1 And j = 1 Then ' k to nr wiersza, j nr kolumny komorki ktora ma byc sprawdzana
If IsNumeric(Application.Cells(j, k)) Then
Application.Cells(j, k).Value = Int(Application.Cells(j, k))
End If
End If

Next k
Next j


End With
Next i
End Sub



oraz makro 2 (to nie dzialające z komórkami scalonymi ale nie wyświetlające zera gdy komórka jest pusta)


Private Sub Worksheet_Change(ByVal Target As Range)
If (Target.Row = 5) And (Target.Column = 4) Then
If IsEmpty(Target) Then
Target.NumberFormat = ";;"
Else
Target = Fix(Target)
Target.NumberFormat = "0;-0;0"
End If
End If
End Sub

  1. podeślij mi ten dokument na maila... , john565 21/11/04 12:00
    to może uda mi sie coś wymyślić

    f*ck

  2. odp , Zajkos 22/11/04 10:04
    to ja napiasłęm makro1 i działa ono z komórkami scalonymi zarówno w poziomie jak i pionie, chyba że część scalonych komórek wychodzi poza zakres ograniczenia

    If k = 1 And j = 1 Then ' k to nr wiersza, j nr kolumny komorki ktora ma byc sprawdzana.

    Udoskonaliłem troche makro i teraz działa szybciej:

    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

    For i = 1 To Target.Areas.Count

    With Target.Areas(i)
    For j = Target.Areas(i).Row To Target.Areas(i).Row + Target.Areas(i).Rows.Count
    For k = Target.Areas(i).Column To Target.Areas(i).Column + Target.Areas(i).Columns.Count

    If k <= 50 And j < 50 Then ' gdzie ma zmieniac, k to nr wiersza, j nr kolumny komorki ktora ma byc sprawdzana
    If IsNumeric(Application.Cells(j, k)) And Application.Cells(j, k).Value <> Int(Application.Cells(j, k)) Then
    Application.Cells(j, k).Value = Int(Application.Cells(j, k))
    End If
    End If

    Next k
    Next j


    End With
    Next i

    End Sub


    Z tym że i tak jak zmienisz cały arkusz to bedzie sprawdzał bardzo długo.

    
All rights reserved ® Copyright and Design 2001-2026, TwojePC.PL