Nigdzie niemoge znalezc odpowiedzi
-
- Posty: 3
- Rejestracja: czw mar 24, 2011 1:29 pm
Nigdzie niemoge znalezc odpowiedzi
Witam . mam problem mianowicie zrobilem arkusz w ktorym wstawialem w niektore komorki 1 albo zostawialem je puste . Chcialbym stworzyc formule wiersza ktora podaje adresy 3 albo 2 komorek z zawartoscia 1 przylegajacych do siebie w wyznaczonej komorce , jesli nieprzylegaja do siebie 3 lub 2 komorki w danym wierszu nic niepokazuje czyli jesli B2=1,C2=1,D2=1 to wynik J2= B2,C2,D2 Z gory dziekuje i sorry za nieprzejzystosc
Windows 7 ,office student 2007
Re: Nigdzie niemoge znalezc odpowiedzi
Nie ma takiej funkcji. Nie można napisać takiej funkcji w Basicu, bo argumenty, jakie funkcja otrzymuje podczas obliczania formuły, nie są adresami komórek, tylko wartościami. Więc dowiesz się, jaką wartość ma komórka, ale nie sprawdzisz, skąd się wzięła.
Można natomiast napisać sobie taką procedurę, działającą np. na bieżącym wierszu albo na zaznaczonym zakresie komórek.
Coś w rodzaju naprędce skleconego
Można natomiast napisać sobie taką procedurę, działającą np. na bieżącym wierszu albo na zaznaczonym zakresie komórek.
Coś w rodzaju naprędce skleconego
Kod: Zaznacz cały
sub serieWWierszach()
mindlug = 2 ' wyłapuj ciągi o tej lub większej długości
kolumnaWynikowa = 0 ' w tej komórce gromadź wyniki
doc = thisComponent
r = doc.currentController.Selection.RangeAddress
s = thisComponent.Sheets.getByIndex(r.Sheet)
for i = r.StartRow to r.EndRow
bloki = ""
pocz = ""
c = s.getCellByPosition(j,i)
wbloku = 0
for j = r.StartColumn to r.EndColumn
lc = c
c = s.getCellByPosition(j,i)
if c.getValue() = 1 then
if wbloku = 0 then
pocz = CellAddress(c) & ":"
endif
wbloku = wbloku + 1
else
if wbloku >= mindlug then
bloki = bloki & pocz & CellAddress(lc) & ";"
endif
pocz = ""
wbloku = 0
endif
next j
if wbloku >= mindlug then
bloki = bloki & pocz & CellAddress(c) & ";"
endif
if len(bloki) > 0 then
bloki = left(bloki, len(bloki)-1)
endif
s.getCellByPosition(kolumnaWynikowa,i).setString(bloki)
next i
end sub
JJ
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
-
- Posty: 3
- Rejestracja: czw mar 24, 2011 1:29 pm
Re: Nigdzie niemoge znalezc odpowiedzi
Kolego ale mi chodzilo o excela a nie visial basic :D hehe wiec ponawiam pytanie
Windows 7 ,office student 2007
Re: Nigdzie niemoge znalezc odpowiedzi
Zacytuję pierwszą część mojej wypowiedzi.superkiel11 pisze:Kolego ale mi chodzilo o excela a nie visial basic :D hehe wiec ponawiam pytanie
Za pomocą funkcji Wyszukaj() i Adres() możesz próbować klecić takie formuły. ale zanim dojdziesz do wyizolowania bloków jedynek, zagubisz się w skomplikowanych przeliczeniach. To nie jest dobre zadanie na formułę.Nie ma takiej funkcji. Nie można napisać takiej funkcji w Basicu, bo argumenty, jakie funkcja otrzymuje podczas obliczania formuły, nie są adresami komórek, tylko wartościami. Więc dowiesz się, jaką wartość ma komórka, ale nie sprawdzisz, skąd się wzięła.
Można natomiast napisać sobie taką procedurę, działającą np. na bieżącym wierszu albo na zaznaczonym zakresie komórek.
Btw, ani to Excel, ani to Visual Basic, mimo że podobne.
JJ
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
-
- Posty: 3
- Rejestracja: czw mar 24, 2011 1:29 pm
Re: Nigdzie niemoge znalezc odpowiedzi
No chyba ze tak:D:D to w jakim programie moglbym cos takiego stworzyc , dziekuje i pozdrawiam
Windows 7 ,office student 2007