[ gogi100 @ 02.05.2022. 15:26 ] @
imam sledeci kod Code: Dim z As Range Dim inputstring As String Dim brojdecimalnihmesta As Integer Dim DecSep As String Dim ThousendSep As String Dim CurrentSelectionRng As String Dim eIndex As Long Dim eRowIndex As Long CurrentSelectionRng = Selection.Address On Error Resume Next MsgBox "Pre nego sto unesete format kolone: broj, tekst, datum, procenat; izaberite jednu celiju u koloni, koja ce biti selektovana", vbOKOnly inputstring = InputBox(Prompt:="Unesi format kolone('b' - broj, 't' - tekst, 'd' - datum, 'p' - procenat", Title:="Format kolone") If inputstring = "b" Then MsgBox "Format celije(a) ce biti broj", vbOKOnly brojdecimalnihmesta = InputBox(Prompt:="Unesi broj decimalnih mesta", Title:="Decimalna mesta") eIndex = Application.ActiveCell.Column eRowIndex = Application.ActiveSheet.Cells(Rows.count, eIndex).End(xlUp).Row Range(Cells(2, eIndex), Cells(eRowIndex, eIndex)).Select System = Application.UseSystemSeparators With Application .DecimalSeparator = "," .ThousandsSeparator = "." .UseSystemSeparators = False End With If System = True Then DecSep = Application.International(xlDecimalSeparator) ThousendSep = Application.International(xlThousandsSeparator) 'not used;for information only Else DecSep = Application.DecimalSeparator ThousendSep = Application.ThousandsSeparator 'not used;for information only End If For Each z In Selection If brojdecimalnihmesta = 0 Then z.Value = FormatNumber(z.Value, brojdecimalnihmesta, , , vbTrue) ElseIf brojdecimalnihmesta = 1 Then z.Value = FormatNumber(z.Value, brojdecimalnihmesta, , , vbTrue) ElseIf brojdecimalnihmesta = 2 Then z.Value = FormatNumber(z.Value, brojdecimalnihmesta, , , vbTrue) ElseIf brojdecimalnihmesta = 3 Then z.Value = FormatNumber(z.Value, brojdecimalnihmesta, , , vbTrue) ElseIf brojdecimalnihmesta = 4 Then z.Value = FormatNumber(z.Value, brojdecimalnihmesta, , , vbTrue) ElseIf brojdecimalnihmesta = 5 Then z.Value = FormatNumber(z.Value, brojdecimalnihmesta, , , vbTrue) End If Next With Selection .HorizontalAlignment = xlRight ' .NumberFormat = "###,###,###,###0.00" End With Exit Sub End If kada primenim moj makro svaki broj na primer 34563,9843 se prikazuje u formatu 34.563,98 kada unesem broj decimalnih mesta 3 ili 4 ili 5. kada izaberem broj decimalnih mesta 1 prikaz u excel-u je 34.563,90. prikaz za separatorom i decimalama je meni uredu, ali zasto ne prikazuje decimalana mesta veca od 2 |