Tema: Re: Excel
Autorius: Laimis
Data: 2015-09-04 00:30:23
Toto rašė:
> A stulpelyje:
> Iš viso: aktyvioji vartojama 200 kWh, 8,78 Eur.
> Iš viso: aktyvioji vartojama 1.297 kWh, 44,55 Eur.
> Iš viso: aktyvioji vartojama 95 kWh, 3,85 Eur.
> Iš viso: reaktyvioji vartojama 1.556 kVArh, reaktyvioji generuojama 133
> kVArh, aktyvioji vartojama 9.075 kWh, 230,93 Eur.
> Iš viso: aktyvioji vartojama 2.083 kWh, 71,31 Eur.
>
> Kaip B stulpelyje padaryti tik skaičius kurie yra prieš kWh?

Be VBA, tai tik griozdiška formulių seka ieškant teksto ir jį po to 
apdorojant.
Excel'io po ranka neturiu, tai siunčiu OpenOffice Basic'o funkciją. 
Persidarysi excel'iui, kaip namų darbus (minimaliai reikalų), o gal ir 
iš karto veiks.


Function ExtractKwh(vVal As Variant) as Long
	Dim oRE As Object, oMatches As Object
	Dim sVal As String
	
	Set oRE = CreateObject("VBScript.RegExp")
	
	oRE.Global = True
	oRE.IgnoreCase = True
	oRE.Pattern = "(\d+\.?\d+) kWh"
	
	Set oMatches = oRE.Execute(CStr(vVal))

	If oMatches.Count > 0 Then
		sVal = oMatches.Item(0).SubMatches.Item(0)
		sVal = Replace(sVal, ".", "")
		ExtractKwh = CLng(sVal)
	End If

End Function