Hirdetés
- --HARDCORE--: Hogyan adjuk meg a Foxpost címünket hatékonyan?
- Torda: Így lehet fillérekből prémium okosotthon rendszert építeni 2025-ben
- Brogyi: CTEK akkumulátor töltő és másolatai
- Magga: PLEX: multimédia az egész lakásban
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Toomy: FOXPOST: régen jó volt, de már jobban jársz, ha elfelejted
- sziku69: Szólánc.
- droidic: Saját hálózat, saját szabályok – Építs profi infrastruktúrát!
- D1Rect: Nagy "hülyétkapokazapróktól" topik
-
LOGOUT
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
szab.tam
nagyúr
hi!
egyszerű kérdés:
excel 2007
hol lehet, (ha lehet egyáltalán), rábírni arra, hogy alapértelmezetten a táblázataimat ne egy ablakban akarja megnyitni, hanem külön ablakban, és ki tudjam tenni több monitorra a különböző táblázatokat. mert most csak a nézet / ablakváltással tudok váltani, de így nem látom egyszerre a 2 táblázatot....a world külön ablakban nyílik, és nem látom a beállítás különbséget...
előre is thx!

-
rTyler
csendes tag
ez holnapra marad, megyek haza

Delila_1, remelem rendesen megfizetik a skilljeidet, mert nalunk az egesz office osszesen nem ert ennyit az exclehez

-
Delila_1
veterán
A megoldás, hogy az I1-ben hozza a B1-es ember első e-mail címét, J1-ben a másodikat, K1-ben a harmadikat, stb., ameddig jobbra másolod a képletet. Akinek nincs 2., 3. címe, ott üresen hagyja a cellát.
Ezeket a képleteket együtt lemásolod addig a sorig, ameddig a B oszlopodban tartanak a nevek. -
Delila_1
veterán
Hibakezeléssel az I1 képlete
=HA(HIBÁS(FKERES($B1&1;$E:$E;1;0));"";FKERES($B1&1;$E:$F;2;0))Ezt kell jobbra másolni, és a félkövér, dőlt 1-et oszloponként növelni 1-gyel.
-
Delila_1
veterán
válasz
Fire/SOUL/CD
#8486
üzenetére
Tévedsz! Makró nélkül oldottam meg, de csakis azért, hogy ellenkezzek.

A D után beszúrtam egy oszlopot, aminek a képlete (D1-é):
=D1&DARABTELI(D$1:D1;D1)Az I1 képlete: =FKERES($B1&1;$E:$F;2;0)
J1: =FKERES($B1&2;$E:$F;2;0)
K1: =FKERES($B1&3;$E:$F;2;0)Persze ezen még lehet finomítani a hibakezeléssel.
-
-
rTyler
csendes tag
ezaz, mukodik

koszonom szepen

pusztan kivancsisagbol; azt is meg lehet oldani, amirol Fire/SOUL/CD beszel?
mondjuk, ha b-ben 3 kovacs van, d-ben 4 kovacs -> e-ben emailjeivel, akkor ne csak az elsot, hanem az elso 3at kopizza?
senkinek nem akarok visszaelni a turelmevel, csak kerdes
-
-
Delila_1
veterán
válasz
Fire/SOUL/CD
#8479
üzenetére
Az autoszűrő helyett inkább kimutatást javasolnék.
-
-
rTyler
csendes tag
válasz
Fire/SOUL/CD
#8474
üzenetére
igen, bocs, keresztnev

tobbszor szerepel, de elvileg barmelyik jo belole, mert egy ember tobb email cime... -
Delila_1
veterán
válasz
Fire/SOUL/CD
#8474
üzenetére
Majd megtudjuk a válaszból.
-
-
-
rTyler
csendes tag
hello
legyszives vetne erre valaki egy pillantast?
b oszlopban vannak keresztnevek
c oszlop ures
d oszlopban keresztnevek
e oszloopban d-hez tartozo email cimekb oszlop elemei megtalalhatoak d-ben
arra lenne szuksegem, hogy a b oszlop tagjait megkeressem d oszlopban es a c oszlopba bemasoljam e-bol a b-hez tartozo email cimeket
pelda
b1 kiss
b2 kovacs
b3 toth
b4 horvathc1
c2
c3
c4d1 kiss
d2 kelemen
d3 hajdu
d4 fabian
d5 kovacs
d6 toth
d7 kerekese1 kiss.erno@pl.hu
e2 kelemen@pl.hu
e3 hajdu@pl.hu
e4 fabianbela@pl.hu
e5 kovacs.kovi@pl.hu
e6 toth.bence@pl.hu
e7 kerekeskerek@pl.huami a vegeredmeny kellene negyen:
c1 kiss.erno@pl.hu
c2 kovacs.kovi@pl.hu
c3 toth.bence@pl.hu
c4 -tudna valaki segiteni?
-
zsotesz81
senior tag
válasz
Fire/SOUL/CD
#8457
üzenetére
oks, köszi majd próbálkozok
-
Medcomp
tag
Tévedtem. Az egyik táblázatban, ami gyakran okozza a mentéskori fagyást van egy makró, ez:
Sub áthelyezés()
'
' áthelyezés Makró
' Rögzítette: Gép_03, dátum: 2007.01.10.
'
'
Sheets("Munka11").Select
Rows("2:45").Select
Selection.Copy
Sheets("Munka1").Select
Range("A2").Select
ActiveSheet.Paste
Sheets("Munka11").Select
Application.CutCopyMode = False
ActiveWindow.SelectedSheets.Delete
End SubEz esetleg okozhatja?
-
perfag
aktív tag
válasz
Medcomp
#8463
üzenetére
"táblázatokban semmi makrót nem használok" - ennyi infó nekem teljesen elég - mert akkor fogalmam nincs!
Egy próbát megér: Microsoft Információs Központ:. Kipróbáltam a legalsó menüpontot (Változó idejű rendelkezésre állás) - nem adják könnyen a bőrüket! A folyamaton végighaladva egy helyen azt mondja a lefagyásra, hogy a víruskeresőtől van. Én is azt mondanám
De azért megnézném, mi van ha lekapcsolom a hálózatot és kikapcsolom a víruskeresőt is. Mentés próba 25-ször - aztán vagy ettől van, vagy tudom, hogy nem. -
perfag
aktív tag
válasz
Medcomp
#8461
üzenetére
Ez így nagyon kevés infó. Ha jogtiszta, akkor a Microsoft támogatáshoz is fordulhatsz a problémáddal, lehet, hogy a fájlt is el kellene küldened nekik. [
Csak ötlet: velem akkor fordult hasonló elő, amikor a makróimban ErroHandler volt és debug-oltam. Na, ettől elszállt párszor, nem csak a Mentés másként gombtól
-
Medcomp
tag
Sziasztok!
Olyan gondom lenne, hogy ha az Excel 2007-ben menteni próbálok sokszor lefagy, miután megnyitotta a Mentés másként ablakot. (Jogtiszta, frissítve MS Update-tel).
Nem minden alkalommal csinálja, csak néha jön elő ez a hiba, főleg, ha sokáig dolgozok egy táblázatban, viszont akkor sem mindig.
Van esetleg ötlete valakinek, hogy ez mitől lehet? Word, Outlook normálisan megy, a gép egy hónapon belül volt újratelepítve, XP Home SP3 van rajta, eddig is ugyan ezek voltak, és nem volt gond.
-
perfag
aktív tag
válasz
m.zmrzlina
#8459
üzenetére
Bármelyik kezdőknek szánt VBA leckébe belenézel ott ez áll:
If conditions Then
expressions
Else
expressions
End IfAzaz a Then után új sor, majd az egészet lezárod End If-fel.
If ActiveCell.Value = "" Then
isLastRow = True
Exit Sub
End IfBár ahogy #8457-ben láttam nem is annyira amatőr módszer.
- de az!
- a #8457-ben nem azt láttad, amit Fire láttatni akart veled
- korábban is feltűnt, hogy makacsul ragaszkodsz első ötleteidhez, akkor minek kérdezel -
m.zmrzlina
senior tag
válasz
Delila_1
#8458
üzenetére
A kérdéseimre adott válaszokból meg a linkekből amiket kaptam pont azt deriváltam le hogy címkét nem lehet teljes munkafüzetre érvényes hatókörrel létrehozni a Public változók mintájára.
Szerintem marad a #8451-es hsz-ben vázolt ragasztgatós-szegelős megoldás. Bár ahogy #8457-ben láttam nem is annyira amatőr módszer.

Kész kódokra pedig végképp nem számítok mivel én ide nemannyira halért mint inkább hálóért járok.
Ha már háló. Lehet ezt a két parancsot egy sorban kiadni? Elegánsabb lenne.
If ActiveCell.Value = "" Then isLastRow = True
If ActiveCell.Value = "" Then Exit Sub -
Delila_1
veterán
válasz
m.zmrzlina
#8455
üzenetére
Nézz utána a Public változóknak, amiről Perfag írt, vagy várj estig, míg újra gép közelébe kerülök.
Addig biztosan megírja valaki, mit kell tenned. -
válasz
zsotesz81
#8456
üzenetére
Hali!
Ebből a kódból az alábbi részből meríthetsz ihletet
On Error Resume Next
Set My_Sheet = Sheets(My_Sheet_Name)
On Error GoTo 0
If Not My_Sheet Is Nothing Then
My_Sheet.Delete
End IfEz létező munkalap esetén törli azt, egy kis átalakítással neked is megfelelhet, de ez függ a programod felépítésétől.
Másik alapmódszer az szokott lenni, hogy egy ciklussal végigmész a munkalapokon, a cikluson belül megvizsgálod a nevét, ha megegyezik, akkor valamilyen változót magasra állítasz és kilépsz a ciklusból. Ezt követően megvizsgálod azt a bizonyos változót, éa feltételnek megfelelően kihagysz programrészt.
Fire.
-
zsotesz81
senior tag
Hali!
Makróban azt hogy lehet megoldani, ha egy adott nevű munkalap létezik akkor ugorja át azt a részt ahol a munkalap létrehozása van?
-
Delila_1
veterán
válasz
m.zmrzlina
#8451
üzenetére
A változók értékét átadhatod egy másik szubrutinnak. Pl. ha az Első() szubrutin C változójának az értékével szeretnél dolgozni egy Második nevű szubrutinban, akkor az Első rutinodban
Második C
módon hívod meg. A Második paramétere legyen C, vagyis
Sub Második(C)
.
.
End SubA Második End Sub-ja után a vezérlés visszajut a hívás helyét követő sorra.
-
m.zmrzlina
senior tag
válasz
Delila_1
#8448
üzenetére
Vagy estleg az is megoldás lehet, hogy a belső szubrutinban:
ha feltétel=igaz akkor egy logikai tipusú változót igazra állítok majd exit subAztán a főciklusban a hívás utáni sorban levizsgálom ezt a változót és igaz esetén innen már tudom küldeni a cimkére hamis esetén pedig foltatódik a főciklus a következő hívással.
Így fejben úgy tünik működhet ez a megoldás csak egy kicsit erőltetettnek tűnik.
Hogy szokták az ilyet csinálni?
-
perfag
aktív tag
válasz
m.zmrzlina
#8449
üzenetére
A Microsoft támogatás szerint "a line label defined in another procedure, you receive the error message "Label not defined." This message means that the label is not defined in the current Sub or Function." ez nem fog menni.
Megoldást én az Error Handling-ot felhasználva keresnék, Chip Pearson ezt írja: "Every procedure need not have a error code. When an error occurs, VBA uses the last On Error statement to direct code execution. If the code causing the error is in a procedure with an On Error statement, error handling is as described in the above section. However, if the procedure in which the error occurs does not have an error handler, VBA looks backwards through the procedure calls which lead to the erroneous code."
Az Err.Number-nek utánanéznék, milyen saját értéket adhatnék és ezzel vissza tudnék térni a főciklus ErrorHandlerébe, ahol egy GoTo, vagy GoSub a kívánt helyre vinné a vezérlést. -
m.zmrzlina
senior tag
válasz
Delila_1
#8448
üzenetére
A kód szerkezete olyan, hogy van egy főciklus ami vegyesen tartalmaz szubrutin hívásokat és programsorokat is.
A probléma ott kezdődik, ha egy szubrutinban bekövetkezett feltétel esetén a főciklus megadott pontján szeretném folytatni a program futását.
Ha egy cikluson belül vagyok akkor GoTo címke és készen van. Azonban ha a cimke a szubrutinon kívül van akkor jön ez a hibaüzenet.
Gondoltam van valami módja ennek a teljes munkafüzetre kiterjedő cimke megadásának ahhoz hasonlóan mint hogy változót is másképp kell deklarálni, ha nem csak egy szubrutinban akarom használni.
-
Delila_1
veterán
válasz
m.zmrzlina
#8446
üzenetére
Azt hiszem, félreértettelek. Címke alatt egy cella címzésére gondoltam.
If valami then Go To Címke 'vagy Gosub Címke
Címke:
utasítások
Return 'Gosub esetén, innen az if-et követő sorba ugrik vissza.Ezt azonos modulban kell elhelyezned.
-
secam
csendes tag
Helló!
Egy nyomógombhoz szeretnék makrót írni, de nem sikerül, hiába próbálkozok.
A makró egy internetről importált adattartalmat frissítene.
Frissítési lehetőség van a menüsorban, de nem szeretném állandóan kikeresgélni, hanem egyszerűbb lenne, ha csak megnyomnám a munkalapon az adatfrissítés gombot, vagy éppen, ahogy elnevezem.
Előre is köszi a segítséget. -
Delila_1
veterán
válasz
samfishR
#8442
üzenetére
Elég az első cellánál megadni a formátumot. Az 1 beírása után a Ctrl billentyű lenyomása mellett "húzd" le 40 hosszan, akkor automatikusan növeli a sorszámokat.
Másik módszer, hogy a celláknak szöveg formátumot adsz, ezután írod be a 01-et, a másolásához nem kell segédbillentyűt használni. Ezeket szövegként értelmezi az Excel, nem lehet velük számolni.
-
Delila_1
veterán
válasz
m.zmrzlina
#8441
üzenetére
Application.Goto Reference:="nomorelines"
-
samfishR
senior tag
Hali!
Ha excelben beírom egy cellába, hogy (01), akkor miért írja át -1-re?

Egyébként azt szeretném, ha olyan sorozatot tudnék írni, aminek a tagjai: (01) (02) (03) ... (szóval h mondjuk egy oszlopban egymás alatt legyenek a leírt zárójeles számok, mondjuk 40-ig.) stb, és erre keresnék egy egyszerűbb megoldást, hogy ne kelljen egyesével leírni. Valaki vmi tipp? Előre is kösz.
-
m.zmrzlina
senior tag
Az alábbi kódban szeretném azt elérni, hogy a nextline subrutinban bekövetkező feltétel esetén a kód ugorjon nomorelines: címkére.
Meg lehet-e tenni ezt és ha igen hogyan kell deklarálni a címkét?
Application.ScreenUpdating = False
Do
Call nextline
Call back_color
Call colorize
Loop Until Range("A" & Lnum).Value = ""
nomorelines:
Application.ScreenUpdating = True -
-
Oly
őstag
válasz
Delila_1
#8436
üzenetére
Vagyis
if fizeto=false AND ingyeno=false Then
MsgBox "Válassz díjazást!"
End if
if futaro=false AND postao=false Then
MsgBox "Válassz szállítási módot!"
End if
És itt jöhet a fiz és fut értékeinek megadása?Arra is gondoltam, hogy egy ilyen Yes/No felugró üzit kellene, amiben a két választási lehetőség a Yes/No helyett: Fizetős/Ingyenes.
Így tuti nem felejtik el jelölni, és nem foglalja a helyet sem a Formon a sok kis pötty.
-
Oly
őstag
Sziasztok!
Bátorkodtam belekezdeni a ciklusokba is!

A feladat az, hogy van kétszer kettő OptionButton.
Ezzel lehet kiválasztani, hogy Fizetős/Ingyenes (fizeto, ingyeno) és Futáros/Postai (futaro, postao) kézbesítést kérünk-e.A CommandButton5 megnyomásával elmenti a beírt adatokat. Azt szeretném, hogy a "MENTÉS"-sel jelzett parancsom (ezt nem másoltam be, mert irreleváns), csak akkor fusson le, ha nem volt MsgBox-os figyelmeztetés. (Értelem szerűen, akkor, ha nincs egyik sem kijelölve...)
Valamint lehet-e egyszerűsíteni ezt az if. thenes vackot, mert lesz olyan Formom is, ahol 6-7 feltételt fogok vizsgálni, azokon belül is 3-4 opciót.Private Sub CommandButton5_Click()
Dim fiz As String
If ingyeno = "True" Then
fiz = "Ingyenes"
Else
If fizeto = "True" Then
fiz = "Fizetős"
Else
MsgBox "Válassz díjazást!"
End If
End If
Dim fut As String
If futaro = "True" Then
fut = "Futár"
Else
If postao = "True" Then
fut = "Posta"
Else
MsgBox "Válassz szállítási módot!"
End If
End If
"MENTÉS"
End Sub -
m.zmrzlina
senior tag
válasz
m.zmrzlina
#8433
üzenetére
Az If...Then okozta. A végére kellet az End If
-
m.zmrzlina
senior tag
Do
ActiveCell.Offset(1, 0).Select
If ActiveCell.Value = "" Then
Select Case Params
Case Is = 1
Cells(1 + Params, columnid_1).Select
cikl = columnid_1
Case Is = 2
Cells(1 + Params, columnid_2).Select
cikl = columnid_2
Case Is = 3
Cells(1 + Params, columnid_3).Select
cikl = columnid_3
Case Is = 4
Cells(1 + Params, columnid_4).Select
cikl = columnid_4
Case Is = 5
Cells(1 + Params, columnid_5).Select
cikl = columnid_5
Case Else
Range("I1").Select
End Select
For k = cikl To 1440
With Selection.Interior
.Pattern = xlSolid
.ColorIndex = 4
.TintAndShade = 0
.PatternTintAndShade = 0
End With
ActiveCell.Offset(0, 1).Select
Next k
Else Goto start
Loop Until Mid(ActiveCell.Text, 13, 1) = ParamsA fenti programrészlet Futtatáskor a következő hibaüzenetet adja
LOOP without DOMi lehet az oka?
Próbáltam már kikommentezni a Case szerkezetet és a ciklust is de nem jöttem rá mi kavar be. -
jobbacsabba
aktív tag
válasz
m.zmrzlina
#8431
üzenetére
Nekem ezek az egymásba ágyazott függvények szuahéliek.
Az excelt csak közbenső állomásként használom az analitikai programok között és a végső vizualizáló program (origin) között.
Szemléltetve a problémát:
nm A
282.0 12.55
283.0 15.ápr
...
696.0 jan.32
: ilyen adatpárok vannak, amit a program beilleszt. A 15.ápr valódi értéke 15,04, de az excel már 2010.04.15-öt mutat cellatartalomra a szerkesztőlécben, de van pl. a jan.32 ami valójában 32,01 és a szerkesztő léc szerint pedig 1932.01.01 (akkor a 12.55 mért nem dec.55?)
Remélem érthetően adtam elő a problémámat.
Végül is a lényeg számomra, hogy míg excelt használok, valahol át kell állítanom, hogy mit értelmezzen tizedes elválasztóként.
Köszi a segítséget!
Ha nagy leszek megértem ezt a makró és egymásba ágyazott függvény dogot. Remélem. -
m.zmrzlina
senior tag
válasz
jobbacsabba
#8428
üzenetére
Olvasd át a #8151 számú hozzászólásommal kezdődő thread-et. Ugyanez volt a problémám.
A megoldás az lett hogy egy fv kombinációval ki lett cserélve az importált adatokban a "." ","-re és tökéletesen működik a fájl bármilyen területi beállítású gépen.A #8166-ban van Fire univerzális megoldása a problémára.
-
válasz
jobbacsabba
#8429
üzenetére
Hali!
Nem teljesen.
Az a megoldás, amit Te választottál, az globális, nem csak az Excel-t érinti/érintheti. Pl egy számlázó-progi(vagy bármi egyéb), ami adatbázishoz van kapcsolva lehet, hogy innentől szintén ponttal fogja elválasztani az értékeket a számlán. Ha Excel-en belül állítod, akkor az csak az Excel-t érinti...Fire.
-
jobbacsabba
aktív tag
válasz
Fire/SOUL/CD
#8427
üzenetére
Hát, végül is a két megoldás egy.

-
jobbacsabba
aktív tag
válasz
Fire/SOUL/CD
#8427
üzenetére
A programban nem találtam ilyen beállítást, azonban sikerült áthidalni a problémát: Start - Vezérlőpult - Területi és nyelvi beállítások - Területi beállítások - Testreszabás - Szám fül, itt a tizedes elválasztót vesszőről pontra állítottam.
Köszi a segítséget! -
válasz
jobbacsabba
#8426
üzenetére
Hali!
Magában a programban nem megoldható? Nincs ilyen beállítása a programnak, ami exportálja az adatpárokat?
(Excel-ben is állítható, hogy milyen tizedes-elválasztót használjon, csak az kihatással lesz más excel munkafüzetekre is. Szóval ha van olyan táblád, ahol meg a vessző az elválasztó, akkor arra kihatással lesz)Fire.
-
jobbacsabba
aktív tag
válasz
Fire/SOUL/CD
#8425
üzenetére
A program valóban pontot tesz vessző helyett. Nem lehet valahogy elkerülni ezt az automatikus átalakítást?
-
válasz
jobbacsabba
#8424
üzenetére
Hali!
Hát több oka is lehet, de tipikusan akkor van ez a jelenség, amikor számok kerülnek a cellába és nem az alapértelmezett tizedeselválasztó karaktert alkalmazzák. Magyar OS alatt a vessző karakter az alapértelmezett, ebben az esetben az 1,23 az 1,23 lesz, de ha a progi figyelmen kívül hagyja az alapértelmezett tizedeselválasztó karaktert és pl pontot használ, akkor az 1.23 az január 23 lesz...
Fire.
-
jobbacsabba
aktív tag
Sziasztok!
Van egy egyszerű problémám, remélem tudtok segíteni (sürgős lenne).
Egy program adatpárokat ad eredményül, amit kérésre kiexportál egy excel adattáblába. Viszont mikor megnyitja a munkalapot és beilleszti az adatokat, az excel néhány értéket simán át alakít dátum formátumúvá. Ezt hogy lehet elkerülni?
A segítséget előre is köszönöm!
(Os: Win7 alatt Xp Mode, azon office 2003) -
perfag
aktív tag
válasz
m.zmrzlina
#8418
üzenetére
Három adat az három adat! Ehhez tömb (array) változó kell.
[#8420] szerint csak egy adattal akarsz dolgozni, akkor a
.Color = hatterszin helyett .ColorIndex-et kellene használnod.
Szerintem. -
m.zmrzlina
senior tag
válasz
m.zmrzlina
#8420
üzenetére
Illetve meg lehet fogalmazni úgy is a kérdést, hogy van-e a szín megadásának olyan módja amihez egyszerűbben lehet rendelni adattípust.
-
m.zmrzlina
senior tag
válasz
Delila_1
#8419
üzenetére
Hát nem igazán.
Azt szeretném, hogy definiálok egy változót majd a program futása során értéket adok neki.
Valahogy így:Dim hatterszin As "nemtudommelyik"
.
.
.
.
hatterszin=RGB(0,255,0)aztán így használnám:
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = hatterszin
.TintAndShade = 0
.PatternTintAndShade = 0
End With -
Delila_1
veterán
válasz
m.zmrzlina
#8418
üzenetére
Nem biztos, hogy erre gondoltál. Az A21, B21, és C21 cellák 0 és 255 közötti egész számot tartalmaznak. A makró az A22 cella hátterét színezi a fenti értékek szerint.
Sub szín()
Cells(22, 1).Interior.Color = RGB(Cells(21, 1), Cells(21, 2), Cells(21, 3))
End Sub -
m.zmrzlina
senior tag
Egy cella háttérszínét tartalmazó adatot szeretnék változóba tenni a következő formátumban
RGB(x,x,x)Milyen adattípust kell ehhez használni?
-
Delila_1
veterán
válasz
basaharc502
#8416
üzenetére
-
basaharc502
aktív tag
Sziasztok!
Segítégeteket szeretném kérni ismételten.

Most arról lenne szó, hogy excelben kellene összehoznom egy egyszerű diagrammot (a diagram lehet oszlop, vagy terület az mind1).
Vannak adataim 1930-tól egészen napjainkig, és a jövőre vonatkozó becslések 2050-ig.(olajkitermelés egyébként)
Namost olyan oszlopdiagram kellene, ahol a 2010 és 2050 (tehát a jövőre vonatkozó becslések) más színnel vannak jelölve ugyan azon a diagrammon amin természetesen az 1930-tól számított adatok is szerepelnek.Magyarul: egy oszlopdiagram ahol 1930-2010-ig például sárgával jelölöm az oszlopokat, és 2010-2050ig pedig feketével. Ehhez 2 jelmagyarázat kellene értelem szerűen.
Ezt valahogy sehogy se tudom megcsinálni, mert ha a 2010-2050ig tartó adatokat külön oszlopba írom, akkor adatsor 2-ként a diagram elejére teszi az adatokat, amiket a végére kellene...
A segítséget előre is köszi!
Remélem érthető volt amit írtam...valamennyire
-
Oly
őstag
válasz
Fire/SOUL/CD
#8414
üzenetére
Nem makróval módosítom az értéket, hanem az űrlapon beírással.
amikor elhagyom a mezőt, akkor dobja a hibaüzit... -
Hali!
Bocs, de ma ilyen ufótevékenység van felénk, a PH! elég furcsán viselkedett nálam, ehhez még hozzájött a netszolgáltatóm "remekelése" és már kész is a roppant értelmes hsz.

Na szóval, pl így
.SentOnBehalfOfName = Range("F2")
A másik kérdésedre passz...Annyit tehetsz, hogy nem az értékét(value) tulajdonságát módosítod, hanem a Text tulajdonságát.
Fire.
-
Oly
őstag
válasz
Fire/SOUL/CD
#8412
üzenetére
Így mit használjak?

Mostanában hegesztgetem a kis Formomat és néha, amikor módosítani akarom valamelyik textbox értéket, akkor feldobja ezt a hibaüzit:

Eddig egy kilép-belép után újra működött, de most nem múlik el el.
Miért csinálja ezt? Mi a nyígja? -
-
m.zmrzlina
senior tag
válasz
Fire/SOUL/CD
#8407
üzenetére
Range helyett Cells
Ez lett a megoldás.
Thx a lot.
-
-
Oly
őstag
Sziasztok
Makróval megnyitok egy file-t, amiből egy bizonyos részt Copy-zok, majd miután beilleszti a megfelelő helyre bezárja a makró a filet. Ilyenkor sajnos rákérdez az Excel, hogy akarom-e használni még a nagy méretű adatot a vágólapon.
Ezt nem lehetne valahogy automatikusan elfogadtatni a makróval? Vagy máshogy eltüntetni?Fire: Az Outlookos kérdésemre tudsz valami okosat? Ami kitölti automatikusan a To, Subject és a Body részt... ha befűzöm a .From kódot, bogaras lesz...

-
m.zmrzlina
senior tag
válasz
Fire/SOUL/CD
#8406
üzenetére
"Ez a sor a Case szerkezet egyik ága ezért nem evidens hogy a columnid_1-nek 0-tól különbözik az értéke. Simán lehet 0 ezért kell ezt az esetet kezelni."
Ez a korábbi hsz-odból, meg ebből a kódból sem derül ki, mert a ActiveCell.Column sosem ad vissza nullát.
Gondolom a változók nullázásáról a kód más részén gondoskodsz.Illetve a változók csak akkor kapnak 0-tól különböző értéket, ha egy másik feltétel teljesül (Params változó bizonyos értékei esetén) Van amelyik a program futása során végig nulla marad.
A feladat az, hogy I1-ből indulva végigmegy az I soron és az ott lévő értékeket összehasonlítja egy változó értékével és ha az aktív cella értéke nagyobb mint a változó akkor az adott cella alatt Params-nyival (1-5) lévő cella hátterét beállítja adott színre. #8377hsz-m első kép
Úgy már működik a program, hogy minden eseményt az I1-ből indulva ellenőriz végig de ez rengeteg időt vesz igénybe. Ezért szeretném eltárolni az utolsó ellenőrzött cellát változóba, hogy ne mindig I1-ből induljon a keresés.
Az eltárolás megy is csak a visszaolvasás nem.
-
válasz
Fire/SOUL/CD
#8406
üzenetére
Bocsesz ezen átsiklottam: "Így szeretném használni: (az első sor columnid_1-edik oszlopába szeretnék állni, vagy ha nem akkor az I1-be)"
If columnid_1 <> 0 Then Cells(1, columnid_1).Select Else Range("I1").Select
Fire.
-
válasz
m.zmrzlina
#8405
üzenetére
Hali!
"Ez a sor a Case szerkezet egyik ága ezért nem evidens hogy a columnid_1-nek 0-tól különbözik az értéke. Simán lehet 0 ezért kell ezt az esetet kezelni."
Ez a korábbi hsz-odból, meg ebből a kódból sem derül ki, mert a ActiveCell.Column sosem ad vissza nullát.
Gondolom a változók nullázásáról a kód más részén gondoskodsz.Ebből a kódból azt feltételezem, hogy az lenne a feladat, hogy az első oszloptól, az activecell oszlopáig az összes oszlopot kijelöld. Ha jól feltételezem, akkor azt így lehet megoldani
Range(Columns(1), Columns(ActiveCell.Column)).SelectFire.
-
m.zmrzlina
senior tag
válasz
Fire/SOUL/CD
#8404
üzenetére
Ez a sor a Case szerkezet egyik ága ezért nem evidens hogy a columnid_1-nek 0-tól különbözik az értéke. Simán lehet 0 ezért kell ezt az esetet kezelni.
Sajnos ez a módszer sem működik.
Range(1, columnid_1).SelectInteger adattípus jó a columnid_1 változónak?
Ebben a Case szerkezetben szeretném használni:
Select Case Params
Case Is = 1
If columnid_1 <> 0 Then Range(1, columnid_1).Select Else Range("I1").Select
Case Is = 2
If columnid_2 <> 0 Then Range(1, columnid_2).Select Else Range("I1").Select
Case Is = 3
If columnid_3 <> 0 Then Range(1, columnid_3).Select Else Range("I1").Select
Case Is = 4
If columnid_4 <> 0 Then Range(1, columnid_4).Select Else Range("I1").Select
Case Is = 5
If columnid_5 <> 0 Then Range(1, columnid_5).Select Else Range("I1").Select
Case Else
Range("I1").Select
End SelectÍgy adok értéket a változóknak:
Select Case Params
Case Is = 1
columnid_1 = ActiveCell.Column
Case Is = 2
columnid_2 = ActiveCell.Column
Case Is = 3
columnid_3 = ActiveCell.Column
Case Is = 4
columnid_4 = ActiveCell.Column
Case Is = 5
columnid_5 = ActiveCell.Column
Case Else
Range("I1").Select
End Select -
válasz
m.zmrzlina
#8403
üzenetére
Hali!
1. Az a feltétel értelmetlen, mivel mindig igaz lesz. Azért, mert a sor- és oszlop indexek 1-től kezdődnek.
2. Nem tudom pontosan mit szeretnél megoldani, de ez így teljesen rossz próbálkozás Range(1, columnid_1).Select
Fire.
UI: Nálam nem működik a programkód gomb jelenleg, sőt a smiley-k sem...:-(
Szerk.
Újra szerkesztve már megy...
-
m.zmrzlina
senior tag
Az aktív cella oszlopának azonosítóját így képzem:
columnid_1 = ActiveCell.Column
Így szeretném használni: (az első sor columnid_1-edik oszlopába szeretnék állni, vagy ha nem akkor az I1-be)
If columnid_1 <> 0 Then Range(1, columnid_1).Select Else Range("I1").Select
Ha az ActiveCell.Column számot ad vissza oszlopazonosítóként akkor miért nem lehet ezzel a számmal hivatkozni ugyanarra az oszlopra?
Megint valami szintaktikai hiba?
-
válasz
m.zmrzlina
#8401
üzenetére
Hali!
Igen.
Fire.
-
m.zmrzlina
senior tag
Van egy változóm (legyen a neve mondjuk: parameter) ami 1;2;3;4;5 értékeket vehet fel.
Van 5 másik változóm (valtozo_1;....valtozo_5) aminek úgy szeretnék értéket adni, hogy ha a parameter = 1 akkor a valtozo_1 kap értéket ha parameter = 2 akkor a valtozo_2 ....és így tovább.
Milyen szerkezettel szokás megoldani az ilyen feladatokat?
Case?
Új hozzászólás Aktív témák
- Lakáshitel, lakásvásárlás
- Intel Dual Core 2000 felhasználók barátságos offolós topikja
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Google Pixel topik
- AMD vs. INTEL vs. NVIDIA
- Mobil flották
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Linux kezdőknek
- Milyen belső merevlemezt vegyek?
- EAFC 26
- További aktív témák...
- Új, Aktiválatlan, iPhone 15 (128 GB) (rendelhető)
- BESZÁMÍTÁS! GIGABYTE A520M R7 3800X 16GB DDR4 512GB SSD RX 9060 XT 16GB Zalman T3 Plus CM 650W
- BESZÁMÍTÁS! Intel Core i7 4790 4 mag 8 szál processzor garanciával hibátlan működéssel
- Thermal Grizzly Aeronaut paszta 3,9g /BONTATLAN/Több darab/Számlával/
- Honor 90 Lite 256GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest





![;]](http://cdn.rios.hu/dl/s/v1.gif)

Kimutatással hogy pakolsz át adatokat egyik cellából egy másikba?
)
Az excelt csak közbenső állomásként használom az analitikai programok között és a végső vizualizáló program (origin) között.
Az a megoldás, amit Te választottál, az globális, nem csak az Excel-t érinti/érintheti. Pl egy számlázó-progi(vagy bármi egyéb), ami adatbázishoz van kapcsolva lehet, hogy innentől szintén ponttal fogja elválasztani az értékeket a számlán. Ha Excel-en belül állítod, akkor az csak az Excel-t érinti...


Fferi50
