[Excel] Wstawianie formuły za pomocą VBA
Witam!
Chciałbym poprzez kod VBA wstawić do komórki następującą funkcję:
=JEŻELI(ILE.NIEPUSTYCH(AD2:AD26)=PODAJ.POZYCJĘ("RAZEM:";O:O)-2;"Koniec";"W toku")
Czy ktoś z Was wie jak ją zapisać w kodzie? A może jesteście w stanie napisać, gdzie znajdę angielskie nazwy funkcji Excela?
Z góry dzięki za pomoc
Odpowiedzi: 1
Witaj.
Makro zarejestrowane podczas wstawiania tej formuły do komórki:
[code]ActiveCell.FormulaR1C1 = _
"=IF(COUNTA(R[1]C[29]:R[25]C[29])=MATCH(""RAZEM:"",C[14])-2,""Koniec"",""W toku"")"[/code]
Zauważ jednak, że możesz zmienić formułę w komorce zmieniając także:
[code]With Range("A1")
.Formula = "=IF(COUNTA(AD2:AD26) =MATCH(""RAZEM:"",O:O)-2,""Koniec"",""W toku"")"
'lub
.FormulaR1C1Local = "=JEŻELI(ILE.NIEPUSTYCH(W[1]K[29]:W[25]K[29]) =PODAJ.POZYCJĘ(""RAZEM:"";K[14])-2;""Koniec"";""W toku"")"
'lub
.FormulaLocal = "=JEŻELI(ILE.NIEPUSTYCH(AD2:AD26) =PODAJ.POZYCJĘ(""RAZEM:"";O:O)-2;""Koniec"";""W toku"")"
End With[/code]Pamietaj, że chcąc wstawić " (cudzysłów) w tekscie, musisz wpisać go dwa razy ("" oznacza ").
Angielskie nazwy funkcji znadziesz w pliku FUNCS.XLS , którego szukaj w swoim komputerze (zapisuje się automatycznie przy instalacji excela) lub w sieci.
Formuły wpisane już do arkusza, możesz oglądać z poziomu edytora VBA.
- wstaw do modułu taki kod
[code]Sub test()
Dim komórka As Range
Set komórka = Range("A1")
End Sub[/code]- otwórz okienko 'locals' (zmienne lokalne) - z menu: View / Locals Window.
- klawiszem F8 wykonuj program krok po kroku
- zatrzymaj na End Sub
- w okienku 'locals' rozwiń drzewko przy 'komórka'
Powodzenia.
Strona 1 / 1