[illegális tevékenységre buzdítás hűlt helye]
Sokan akarnak örökké élni, miközben azt sem tudják, mit kezdjenek magukkal a következő hétvégén...
[illegális tevékenységre buzdítás hűlt helye]
Sokan akarnak örökké élni, miközben azt sem tudják, mit kezdjenek magukkal a következő hétvégén...
Gondoltam nem nyitok uj temat, mert a cim itt is magaert beszel.
Lenne egy kicsit luzer kerdesem VB6-ban:
A kovetkezo egyszeru dolog miert nem mukodik? Illetve mit kellene valtoztatni?
Azt hiszem vmi object problemaja van, de ???
Dim x As Variant
Sub Macro()
x = 1
Range(R1Cx).Select
End Sub
ez ugye vba?
és excelbe' van?
mer' gondolom, csak ott működik...
és milyen hibát ír?
Igen, visual basic 6.0. es egy excel cellat akarokmegnevezni, de ugy, hogy kulso utasitasra modositani lehessen egy masik cellara.
A hibauzenete : error 1004,
Method 'Range' of object '_Global' failed
a range objektumot annyira ugyan nem ösmerem, de én spec ezt a hivatkozást cells()-el csinálnám:
Sub Macro()
x = 1
Cells(1, x).Select
End Sub
[Szerkesztve]
persze, hogy müxik
ezér' nem szeretem a range objektumot: a hülye hivatkozásai miatt...
Meg 1 kerdes?
Igy miert nem helyes megnevezni egy cellat pl?
A hiba :
error 9 subscript out of range
Activecell.Value =
Workbooks(''c:\ VBA\proba.xls'').Sheets(''blabla'').Cells( 1,1).Value
[Szerkesztve]
teszteld le!
de komolyan, általába' utálok más workbookra hivatkozni, de az tuti, hogy a ''value''-ra nincs szükség a végén
(bár asszem, a value-val együtt is működnie kék...)
egyébként ha jól értem, először kijelölöd a cellát, majd az activecell értékét állítod?
erre sztem nincs semmi szükség, a cells() objektumra hivatkozhatsz nyugodtan kijelölés nélkül is...
azaz értékadás így néz ki:
cells(1, x)=workbooks(''példabook'').sheets(''példasheet'').cells(1,1)
vagy ha ugyanarról a sheetről:
cells(10, 10)=cells(20, 20)
lehet (de ebbe' nem vagyok biztos), hogy vmi frissítési parancsot köll még ráengedni, ha külső forrásból veszi az értéket...
Koszi a gyors valaszt, de sajnos ez most nem muxik igy
Amit egyebkent el akartam erni, hogy egy cella erteket egy masik excel file-bol athelyezze. Mindezt relative, mert kb 1-2ezer cellanyi kell, ami loop-olva viszonylag egyszeru lenne.
Meg 1x thx, de mara sajnos mar mennem kell. Udv
A Workbooknak már nyitva kell lennie, nyisd meg valamikor:
Workbooks.Open ("Z:\Dokumentumok\XLS\fuzet.xls")
aztán válts vissza a saját workbookodra:
ThisWorkbook.Activate
Ezután
Workbooks("fuzet.xls").Sheets("lap").stb
(tehát már elérési út nélkül)...
So it goes… We stand alone by standing stones and turn them into circles.
no, most nekem lenne egy kérdésem:
hogy lehet makró értékadást úgy definiálni, hogy két mező összege kerüljön a cellába, de úgy, hogy ne az összeg, hanem a képlet legyen a cella értéke?
azaz:
cells(x,4)=cells(x,3)+cells(x,2) érték, de ne konkrét érték, hanem a képlet kerüljön bele
előre is köszi
izé...ugyan van elkerülő megoldás, de még mindig érdekelne...
ize... nem lehet egyszeruen beirni a worksheet function-t mint stringet? ugy ertem ''=sum(a1:b2)'' ?
nicht kompot
fogalmam sincs, de ezzel nem lennék sokkal előrébb, mer' ahogy írtam, nekem relatív hivatkozás kéne képletbe, azaz minden sorba a neki megfelelő sor összege kéne, kerüljön
erre még csak-csak tunnék vmi megoldást (pl. copy és paste eljárásokkal)...
a ''súlyosabb'' probléma a következő lenne:
van egy táblázat, amit egy másik sheetről töltök fel. a tábla függőlegesen csoportokra van osztva, és ezeknek a csoportoknak kéne az összegét ''beképletezni'', de az egyes csoportok rekordszáma csak a feltöltés után válik ismertté. ugyanakkor elképzelhető, hogy a táblát manuálisan köll korrigálni a kitöltés után, ezért lenne jó, ha a csoportösszegek be lennének képletezve
a probléma az, hogy nem t'om, van-e olyan függvény, ami a cells(x,y) kifejezést az általad is írt (pl. ''a6'') formátumra konvertálja. lehet, hogy külön ki kéne jelölni a range-eket (ezt a cells()-el is meg lhet tenni), elnevezni őket (pl. ''range1'', ''range2'', stb.), és így behivatkozhatók a sum függvénybe?
az a legnagyobb bajom, hogy így a makrófutás több percig is eltarthat, ami nem túl praktikus (kb 30 oszlop és 500-600 sor)
no, hátha délután van itt vki, aki tudja a választ
Formula propertyvel, pld.
Cells(Target.Row, 4).Formula = "=$C" & Target.Row & "+ $B" & Target.Row
Vagy valami ilyesmi, nem tudom, konkrétan hol akarod alkalmazni
So it goes… We stand alone by standing stones and turn them into circles.
van-e olyan függvény, ami a cells(x,y) kifejezést az általad is írt (pl. ''a6'') formátumra konvertálja
A Range objektum Address() propertyje.
So it goes… We stand alone by standing stones and turn them into circles.
''a tábla függőlegesen csoportokra van osztva, és ezeknek a csoportoknak kéne az összegét ''beképletezni''''
ugy erted oszloponkent osszegezni kell?
''az egyes csoportok rekordszáma csak a feltöltés után válik ismertté''
ugy erted a sorok szama valtozo?
''a makrófutás több percig is eltarthat''
csudat. pilanat alatt meglesz.
eloszor is ha igy altalanosan irsz, akkor azt mondom, hogy az elso sheetre tennek nehany fuggvenyt es a masodik sheetre mikor be lenne pastezva a tablazat akkor 'kitoltodnenek' a szamok az elso oldalon. az, hogy a sorok szama dinamikus nem szamit, mert a fuggvenybe az elso 5e sort kell hasznalni es kesz.
nicht kompot
Talan vhogy igy is mehet:
Cell(x,4) = ''=Cell('' & a & '', 1) + Cell('' & b & '', 1)''
Eleg barbar modszer, de talan mukodik.
Ugyanakkor vki megirna nekem, pliz, hogy, hogyan lehet range-et valtozoval megnevezni? En igy probaltam, de nem tetszett neki (1004-altalanos hiba).
a = Inputbox(''1 es 10 kozott egy szam'')
Range(''a:a'').Select
[Szerkesztve]
Hi al!
Egy ismerősömnek kéne segítenem visual basicben, gondolom ilyen tök alap szintű dolgokat csinálnal. Én igazából csak pascallal, meg c-vel ismerkedtem meg, és nem igazából ismerem a vb-t. Elöször is az a kérdésem hogy honnan lehet leszedni vmi compilert (ha igyenes egyáltalán)?
A második hogy szintaktikában mennyire hasonlít a pascalhoz agy a c-hez??
"Hisztéria... Csak nők kaphatják meg, és csak férfiak halnak bele."
haho mindenki alszik vagy mi????
"Hisztéria... Csak nők kaphatják meg, és csak férfiak halnak bele."
hi
az lenne a kérdésem, VB6ban hogyan lehet a list vezérlőnek különböző elemeket értéknek megadni, meg hogy hogy lehet az egyes elemekre való kattintást érzékelni
kösz
T_bee
''Az erőszak a gyengék végső menedéke'' /Isaac Asimov : Alapítvány/
A .NET Framework SDK-ban van VB.NET compiler --> Bővebben: link. Telepítés előtt fel kell tenned magát a .NET frameworköt is --> Bővebben: link.
Ha VB 6-ot vagy régebbi változatot használ az ismerősöd, nincs ilyen egyszerű megoldás. Esetleg valami 60 napos Visual Studio 6 próbaváltozat, ha találsz valahol. Vagy campus-licensz, ha diák vagy.
So it goes… We stand alone by standing stones and turn them into circles.
Koszi azota sikerült szereznem egy visual studiót, de diak vagyok ugyhogy valszeg a campusz liszensz is jó lett volna csak későn szóltak hogy van ilyen
"Hisztéria... Csak nők kaphatják meg, és csak férfiak halnak bele."
Hi!
Az elemre kattintás vizsgálata egyszerű: a listbox Click() metódusában le tudod kérdezni az éppen aktuális elem indexét:
Private Sub List1_Click()
MsgBox List1.ListIndex
End Sub
Ennyi.
[Szerkesztve]
Amit meg kifelejtettem:
A ''különböző értékeket megadni''nál arra gondolsz hogy hogyan lehet feltölteni?
Mert az se bonyesz:
List1.AddItem ''text''
Helló!
Nem rég kezdtem el VB-ben programozni.
De kéne egy kis segítség.
Van 21objektum(kép). Nevük tömbben van.
Taska(0), Taska(1), Taska(2), ... Taska(20)
Így ugye ugyanaz a Clicked esemény fog tartozni mind, a tömbben lévő képre.
Hogy tudnám megoldani, hogy annak az elemnek az Indexét olvassam ki, amelyik képre kattintok.
PL.:
ha a Taska(5) nevűre kattintok n legyen egyenlő 5-el.
(Remélem érthető, mit akarok)
asszem
private sub taska.click (index as integer)
if case index
case 0 then
.
.
.
case 1 then
.
.
.
end selectt
''Az erőszak a gyengék végső menedéke'' /Isaac Asimov : Alapítvány/
THX D!!!!
Ugyan nem ez lett a vége, de hála neked megtudtam, hogy kell írni, mivel én mindenre gondoltam, csak arra nem, hogy simán Index
Private Sub imgTaska_Click(Index As Integer)
n = Index
End Sub
Ennyi
KIRÁLYSÁG!
tudod... A jó űttörő ott segít ahol tud
na nekem is van kérdésem, hogy lehet a listáról kiválasztott elemeket törölni?
meg hogy lehet a listán a beírásokhoz tartozó indexeket összeadni?
''Az erőszak a gyengék végső menedéke'' /Isaac Asimov : Alapítvány/
Kira! akkor megnyugodhat a leked Sopi mégis csak egyszerűbben megtudjuk csinálni..és most már a táska letiltás is menni fog.
Okos enged ha már szenved!
Milyen lista? Milyen elemek? Milyen beírás? Milyen indexek?
Légyszíves próbálj meg konkrétabban kérdezni, akkor talán válaszolni is tudunk
(Már az előző listcontrolos kérdésed sem volt vmi egyértelmű
ok.
tehát a list1.list listán vannak elemek: a 120 indexxel, b 240 indexxel. el szeretném távolítani a elemet a listáról. ezt hogy lehet?
''Az erőszak a gyengék végső menedéke'' /Isaac Asimov : Alapítvány/
na. már rájöttem erre is
DE.
van egy progi, ami bekér két számot text1 és text2 vezérlőben, a és b változóba.
Private Sub Command1_Click()
If i = False And j = False Then
c = a
c = c + ''*''
c = c + b
o = a * b
index = a * b
List1.AddItem = c
q = q + o
Text3.Text = q
End If
End Sub
és ha a lista egyik elemét törlöm akkor hogy lehet annak az értékét( tehát az elem c változójának értékét) törölni egy másik Q változóból?
''Az erőszak a gyengék végső menedéke'' /Isaac Asimov : Alapítvány/
A listboxban 5*6 stb formátumban vannak az elemek.
A következő függvény egy ilyen stringet alakít vissza az eredménnyé:
Private Function ListItemFromText(s As String) As Integer
Dim x As Integer
Dim s1 As String, s2 As String
s1 = Left(s, InStr(s, ''*'') - 1)
s2 = Right(s, InStr(s, ''*'') - 1)
ListItemFromText = Val(s1) * Val(s2)
End Function
Meghyvod az épp törölni kívánt listelemmel, és visszaadja hogy mennyi annak a számértéke, ezt már ki tdod vonni a q-ból.
köszi, de ez csak az utolsó beírás értékének törlésére jó jó
olyan kéne, hogy az éppen kiválaszott elemének az értékét lehessen törölni
''Az erőszak a gyengék végső menedéke'' /Isaac Asimov : Alapítvány/
Ez nem csak arra jó. Ha jobban megnézed, ez 1 eljárás, ami a listboxod bármelyik elemének értékét adja vissza számként. Ha törölsz 1 elemet, akkor tudod hogy melyik volt az (az éppen kijelölt elemet a List1.Text függvénnyel kérdezheted le. Amit már írtam régebben hogy a kijelölt elem indexe, ugyanott lekérdezhető az értéke is ezzel) Mivel az éppen kijelöltet fogod törölni, ezt az értéket átadod ennek a függvénynek, és visszakapod a számértékét integerben.
Private Sub List1_Click()
MsgBox List1.ListIndex
MsgBox ListItemFromText(List1.Text)
End Sub
Itt simán q-ból kivonod a ListItemFromText(List1.Text)-et, és kész. Az épp az az elem ami ki van jelölve, tehát az aktuális törlendő.
hi
mi a hiba atz alábbi kóddal? mer nekem sajna nem fogadja el
pivate sub command1_click
dim szam as string
dim i as byte
i=i+1
list1.additem szam,i
end sub
na ez nem akar mennni, és nagyon zavar, hogy nem tudok az elemeknek külön indexet adni
köszi
''Az erőszak a gyengék végső menedéke'' /Isaac Asimov : Alapítvány/
meg még 1 kérdés: Linuxok alatt működik a microsoft visual studio 6, meg a VB?
''Az erőszak a gyengék végső menedéke'' /Isaac Asimov : Alapítvány/