<<ziut>> [ Konsul ]
excel 07 i funkcja LOS()
witam, mam problem
robię arkusz do obliczania "losowej" części gry RPG. Problem w tym że nie dam rady bardziej się przypatrzeć i przeanalizować danych gdyż wszystko jest oparte na funkcji los co powoduje że każdym enter itp przeliczenie arkusza. da się jakoś"usztywnić" tę funkcję aby była generowana tylko poprzez konkretne polecenie a nie przy każdym najdrobniejszym przeliczeniu arkusza?

Mayhem [ Henry Chinaski ]
Najprostsze co na razie udało mi się wymyślić to nagranie makra, które wpisuje funkcję los() w wybranych komórkach, a następnie kopiuje wyniki i wkleja je jako wartości. Podpinasz je pod jakiś skrót klawiaturowy/guzik w arkuszu i przy każdym uruchomieniu makra dostajesz żądaną ilość losowych wartości w formie liczb, a nie formuł.
Tak to wygląda dla czterech wartości, w komórkach A1-A4:
Sub Random()
'
' Random Makro
'
'
Range("A1").Select
ActiveCell.FormulaR1C1 = "=RAND()"
Range("A2").Select
ActiveCell.FormulaR1C1 = "=RAND()"
Range("A3").Select
ActiveCell.FormulaR1C1 = "=RAND()"
Range("A4").Select
ActiveCell.FormulaR1C1 = "=RAND()"
Range("A4").Select
Range(Selection, Selection.End(xlUp)).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
<<ziut>> [ Konsul ]
hmm, ja z VB na bakier jestem ale będzie się trzeba troche poduczyć widze;]
rozumiem funkcja los pojawia się w A1-4 tylko podczas makra a po jego zakończeniu znika?
edit:literówki
Mayhem [ Henry Chinaski ]
Dokładnie tak, los() pojawia się na czas działania makra, następnie wyniki są kopiowane i wklejane w tych samych komórkach jako wartości. Jak chcesz mogę Ci podesłać na maila gotowy arkusz.
<<ziut>> [ Konsul ]
hmmm, a rozumiem całe te makro zadziała ja zrobie kopiuj wklej w edytorze VB?bo potrzebuje takiej operacji na 100.000 komórek;]
edit:
oki nie trzeba:)już ogarnąłem sprawe:) wielkie dzięki za pomoc;]
edit2:
albo jeszce pytanie. można jakoś z góry narzucić mu zakres A1-100000 czy trzeba ręcznie wpisać każde polecenie odnośnie odpowiedniej komórki?
Mayhem [ Henry Chinaski ]
Musiałem chwilę pomyśleć :) Dla 100000 (poczynając od A1) wygląda to w ten sposób:
Sub Makro1()
'
' Makro1 Makro
'
Range("A1:A100000").Select
Selection.Formula = "=RAND()"
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'
End Sub
<<ziut>> [ Konsul ]
dzięki raz jeszcze;] jak dalej pojawią się jakieś problemy gdzie trzeba wkroczyć z VB to się jeszcze odezwę;]
Rendar [ Srokaty Konik ]
Hmm.... makro dobra sprawa. Ale jeśli chodzi Ci tylko o przejrzenie danych (tak zrozumiałem), a przeszkadza w tym automatyczne obliczanie, to może prościej je po prostu wyłączyć?
<<ziut>> [ Konsul ]
a to można?za dobry w excelu nie jestem więc wiem tyle co sam się nauczyłem, więc prosze o zrozumienie jeśli to jakaś podstawa jest;]
i jeszcze inna sprawa
mam tabele:
przykładowe wartości
hit | wartość
------------------------
hit | wartość
crit | wartość x2
miss | 0
hit | wartość
dodge | 0
hit | wartość
crit | wartość x2
i teraz chciałbym zliczyć wartości max i min oddzielnie dla hit i crit. sobiście nie mam pomysłu na formułę
<<ziut>> [ Konsul ]
czas na edit minał;]
ogarnąłem to przeliczanie automatyczne; nie ma to jak nowicjusz w '07....
a drugie pytanie pozostaje aktualne
<<ziut>> [ Konsul ]
bump