< návrat zpět

MS Excel


Téma: Range -Select rss

Zaslal/a 31.8.2016 14:58

Zdravím
určitě to bude nějaká pitomost, ale... Neseje to :-)
Na jinem listu (než z kterého spouštím makro) potřebuji ve vybrané oblasti (H2 - poslední řádek H) k obsahu každé buňky přičíst 0 (=udělat z obsahu buňky číslo).

Sub Vyber()
ActiveWorkbook.Sheets("ListM").Range(Range("H2"), Range("H2").End(xlDown)).Select
For Each cell In Selection
cell.Value = cell.Value + 0
Next
End Sub

Zaslat odpověď >

Strana:  « předchozí  1 2 3
#032549
avatar
Na vyskúšanie
Selection.Value = "1.76"
Selection.Offset(1, 0).Value = "1,76"
citovat
#032562
avatar
Koukám, že jste se nenudili... :-)
Za mně dobrý (tento kód)
Sub MakroPrenasobeni()
Dim rngOblast As Range
With Worksheets("ListM")
Set rngOblast = .Range(.Range("H2"), _
.Range("H2").End(xlDown))
End With
rngOblast.Value = rngOblast.Value
End Sub

já mám v buňce číslo (nedesetinné) takže toto u mně funguje.
Díkcitovat
icon #032565
eLCHa
Tak jsem otestaval toto With Selection
.TextToColumns Destination:=.Cells, DecimalSeparator:=Application.International(xlDecimalSeparator), ThousandsSeparator:=Application.International(xlThousandsSeparator)
End With 'Selection
na všech typech hodnot, na které jsem si vzpomněl

Funguje to perfektně, teda skoro ;))
1,6 zadanou jako text převede na číslo 1,6 - hurá
1,6 zadanou jako číslo převede na text 1.6 - brr

jinak datum, chyba, logická i text v pohodě
asi to bez cyklu nepude, takže bych udělal cyklus nadSelection.SpecialCells(xlCellTypeConstants, xlTextValues)citovat
#032570
avatar
No neskúšal som všetky možnosti. AAA prevedie aj číslo 1,6 na 1,6

A ďakujem za sľúbenú prílohu od GeorgeK. 4 Aspoň sme sa pocvičili na prílohe od xlnc. 1
Příloha: zip32570_aaa.zip (14kB, staženo 22x)
citovat
icon #032572
eLCHa
@marjankaj
zkusil jsem to doma na 2007Selection.Replace What:=",", Replacement:="."
text 1,6 převedlo na číslo 1,6
ale
text a,b,c,d převedlo na a.b.c.d
text 3 546,2 převedlo na 3 546.2citovat
icon #032575
eLCHa
Pokud chci mít 100% jistotu, že se mi převedou pouze hodnoty, které chci, tak se asi cyklu nevyhnu - a asi je vhodné využít ErrorsSub subTextToValues()
Dim bSett As Boolean
bSett = Application.ErrorCheckingOptions.NumberAsText
Application.ErrorCheckingOptions.NumberAsText = True

Dim rErrors As Range
Dim rCell As Range
For Each rCell In Selection.Cells
If rCell.Errors.Item(xlNumberAsText).Value Then
If rErrors Is Nothing Then
Set rErrors = rCell
Else
Set rErrors = Union(rErrors, rCell)
End If
End If
Next rCell
Set rCell = Nothing

If Not rErrors Is Nothing Then
rErrors.FormulaLocal = rErrors.FormulaLocal
Set rErrors = Nothing
End If

Application.ErrorCheckingOptions.NumberAsText = bSett
End Sub
citovat
#032584
avatar
marjankaj
A ďakujem za sľúbenú prílohu od GeorgeK. 4 Aspoň sme
sa pocvičili na prílohe od xlnc.

Na mé tabulce byste se nepocvičili, jak jsem psal - pouze čísla 0-9, žádné desetiny, žaden text...
Díky za rozvinutí a vyřešení problému :-)citovat

Strana:  « předchozí  1 2 3

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje