Forum » Programiranje » Pomoč VBA
Pomoč VBA
pelako ::
Pozdravljeni,
Imam napisano VBA kodo in me zanima, če bi mi jo lahko kdo razložil, kaj pomeni (npr. po vrsticah)
Sub ChemFormat()
Dim c
Dim PrevNum
Dim s
PrevNum = 1
s = ActiveCell.Value
For c = 1 To Len(s)
If IsNumeric(Mid(s, c, 1)) And PrevNum > 1 Then
ActiveCell.Characters(c, 1).Font.Subscript = True
PrevNum = 1
Else
PrevNum = 0
Count = Count + 1
End If
Next c
End Sub
Hvala
Imam napisano VBA kodo in me zanima, če bi mi jo lahko kdo razložil, kaj pomeni (npr. po vrsticah)
Sub ChemFormat()
Dim c
Dim PrevNum
Dim s
PrevNum = 1
s = ActiveCell.Value
For c = 1 To Len(s)
If IsNumeric(Mid(s, c, 1)) And PrevNum > 1 Then
ActiveCell.Characters(c, 1).Font.Subscript = True
PrevNum = 1
Else
PrevNum = 0
Count = Count + 1
End If
Next c
End Sub
Hvala
ivanl ::
Malo ti bom še popravil kodo, ker ni čisto pravilno napisana. Zraven so koemntarji:
Sub ChemFormat() 'Mnjka private/public sub (začetek procedure)
Dim c 'spremenljivka (manjka deklaracija tipa string, boolean, integer, long...
Dim PrevNum ' isto spremenljivka, manjka deklaracija tipa
Dim s ' isto spremenljivka, manjka deklaracija tipa
PrevNum = 1 'Spremenljivki, ki je zgoraj deklarirana je podana vrednost 1
s = ActiveCell.Value ' v spremenljivko s je podana vrednst celice, ki je aktivna
For c = 1 To Len(s) 'for zanka, c = 1 do dolžine spremenljivke s (len je dolžina, če npr s= "tralala" je to dolžina 7 (tolk kot je znakov))
If IsNumeric(Mid(s, c, 1)) And PrevNum > 1 Then 'funkcija isnumeric ti že pove kaj je, mid je funkcija za izrezoanje delčkov iz nekega stringa tukaj
ActiveCell.Characters(c, 1).Font.Subscript = True
PrevNum = 1
Else
PrevNum = 0
Count = Count + 1
End If
Next c 'naslednji c
End Sub ' konec funkcije
Mislim, da ti bo zdaj malo bolj jasno.
LP Ivan
Sub ChemFormat() 'Mnjka private/public sub (začetek procedure)
Dim c 'spremenljivka (manjka deklaracija tipa string, boolean, integer, long...
Dim PrevNum ' isto spremenljivka, manjka deklaracija tipa
Dim s ' isto spremenljivka, manjka deklaracija tipa
PrevNum = 1 'Spremenljivki, ki je zgoraj deklarirana je podana vrednost 1
s = ActiveCell.Value ' v spremenljivko s je podana vrednst celice, ki je aktivna
For c = 1 To Len(s) 'for zanka, c = 1 do dolžine spremenljivke s (len je dolžina, če npr s= "tralala" je to dolžina 7 (tolk kot je znakov))
If IsNumeric(Mid(s, c, 1)) And PrevNum > 1 Then 'funkcija isnumeric ti že pove kaj je, mid je funkcija za izrezoanje delčkov iz nekega stringa tukaj
ActiveCell.Characters(c, 1).Font.Subscript = True
PrevNum = 1
Else
PrevNum = 0
Count = Count + 1
End If
Next c 'naslednji c
End Sub ' konec funkcije
Mislim, da ti bo zdaj malo bolj jasno.
LP Ivan
samotest ::
Meni to deluje kot excel macro, glede na activelcell funkcijo.
V aktivni celici gre po znakih na sredini in ce je numericen, ga oblikuje kot subscript.
Nisem pa preprican da deluje, ker obdelava PrevNum ne zgleda, da bi kdaj izpolnila pogoj
V aktivni celici gre po znakih na sredini in ce je numericen, ga oblikuje kot subscript.
Nisem pa preprican da deluje, ker obdelava PrevNum ne zgleda, da bi kdaj izpolnila pogoj
Zgodovina sprememb…
- spremenil: samotest ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [python] project euler problemOddelek: Programiranje | 1299 (851) | Spura |
» | C programiranje (strani: 1 2 3 )Oddelek: Programiranje | 27888 (18184) | amacar |
» | vb.net: dynamic textboxOddelek: Programiranje | 1194 (1084) | saule |
» | Calc/excel delo s tabeloOddelek: Programiranje | 1471 (1238) | salabajs |
» | [VB][.NET] pretvorba niza v številoOddelek: Programiranje | 1166 (1014) | Bela01 |