Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z resetowaniem komórek
TaZZo
post 19.11.2019, 22:57:47
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 18.11.2019

Ostrzeżenie: (0%)
-----


Witam,

Gdzieś znalazłem skrypt na resetowanie komórek w Exelu i resetuje bardzo dobrze. Dokładniej skrypt podstawia w komórkę wartość 0. Mam z nim problem bo nie znam się na Javascript, i czasami zamiast wartości zero to w całej kolumnie z "0" zmienia na wartość "1". Dlaczego tak się dzieje?

Kod
function modifyCell(cellName) {
  var range = SpreadsheetApp.getActiveSheet().getRange(cellName);
  var toAdd = 0;

  range.setValue(range.getValue() + toAdd);

}

function increaseLine2() {
  modifyCell("B5:B9");
  modifyCell("B11:B22");
  modifyCell("B24:B35");
  modifyCell("B37:B44");
  modifyCell("B46:B50");
  modifyCell("B52:B57");
  modifyCell("B59:B72");
  modifyCell("C5:C9");
  modifyCell("C11:C22");
  modifyCell("C24:C35");
  modifyCell("C37:C44");
  modifyCell("C46:C50");
  modifyCell("C52:C57");
  modifyCell("C59:C72");


}
Go to the top of the page
+Quote Post
trueblue
post 20.11.2019, 09:10:32
Post #2





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


To nie jest JavaScript, lecz Visual Basic.
Funkcja nie służy resetowaniu wartości, ale modyfikacji, ale właściwie nie robi nic, bo do wartości komórki dodaje 0.

Jeśli chcesz zbudować sobie taki skrypt, to nagraj makro i przeanalizuj jego kod.


--------------------
Go to the top of the page
+Quote Post
TaZZo
post 20.11.2019, 14:16:36
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 18.11.2019

Ostrzeżenie: (0%)
-----


Chodzi mi o zmodyfikowanie tego skryptu tak aby nie zmieniał na wartość "1". Bo czasami po naciśnięciu przycisku RESET zamiast "0" podstawia "1" i nie wiem czym jest to związane.
Go to the top of the page
+Quote Post
trueblue
post 20.11.2019, 14:23:06
Post #4





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Dlatego sugerowałem abyś nagrał makro. Zobaczyłbyś jak wygląda wtedy kod kiedy wstawiasz w komórkę wartość "0".
Pewnie nie masz ochoty tego zrobić, to zastanów się do czego służy metoda setValue i co powinieneś w niej zmienić.


--------------------
Go to the top of the page
+Quote Post
TaZZo
post 20.11.2019, 14:38:56
Post #5





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 18.11.2019

Ostrzeżenie: (0%)
-----


Nagrałem to makro i wyszło że podstawia "1" zamiast "0". To co do tej pory mówiłem.

Kod
function Makrobeznazwy() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('B5').activate();
  spreadsheet.getCurrentCell().setValue('1');
  spreadsheet.getRange('C6').activate();
  spreadsheet.getCurrentCell().setValue('1');
  spreadsheet.getRange('B7').activate();
  spreadsheet.getCurrentCell().setValue('1');
  spreadsheet.getRange('C8').activate();
  spreadsheet.getCurrentCell().setValue('1');
  increaseLine2();
};
Go to the top of the page
+Quote Post
trueblue
post 20.11.2019, 14:40:37
Post #6





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Wstawiaj ręcznie "0" podczas nagrywania.

Zresztą już powinieneś zauważyć co masz zmienić w kodzie z pierwszego postu.


--------------------
Go to the top of the page
+Quote Post
TaZZo
post 20.11.2019, 14:42:11
Post #7





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 18.11.2019

Ostrzeżenie: (0%)
-----


Już znalazłem, dzięki WIELKIE. smile.gif

Haczyki za pomoc poszły.


Temat do ZAMKNIĘCIA. Dziękuje

Ten post edytował TaZZo 20.11.2019, 14:43:24
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.03.2024 - 03:21