-
Fototrend
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
-
Zomb€€
őstag
Sziasztok!
Az lenne a kérdésem, hogy lehet változóban tárolni egy bizonyos Range-t (pl.:"A13:A1123")? Több excelből szednék adatokat, és egyszerűbbnek látom betárolni egy változoba, csak nem tudom hogy lehet-e.
"Egyszer fent...egyszer fent!"
-
Delila_1
Topikgazda
válasz Zomb€€ #10452 üzenetére
Set terület=Range("A13:A1123")
A rá történő hivatkozásnál meg kell adnod a másik füzet nevét, és lapnevét.
workbooks("Másik_füzet.xls").sheets("Munka1").terület[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz Zomb€€ #10456 üzenetére
A gyűjtő füzet aktív lapján állva
set másol = workbooks("ebből.xls").sheets("erről_a_lapról").range("a1:c1000")
usor=range("a1").end(xldown).row+1
másol.copy range("A" & usor)A gyűjtő füzetben az aktív lap A oszlopába másol, az első üres cellába.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz Zomb€€ #10458 üzenetére
Nem lenne szabad elszállnia. Be van kapcsolva az Excelben az Analysis ToolPak - VBA?
Próbáld így:set terület=range("a1:c1000")
workbooks("ebből.xls").sheets("erről_a_lapról").terület.copy
workbooks("ebbe.xls").sheets("erre_a_lapra").select
usor=range("a1").end(xldown).row+1
range("a" & usor).select
selection.pasteProgramozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Pá
addikt
Kéne nekem egy Fkeres függvény, ami nem egy táblázatban keres, hanem dinamikusan váltogat mondjuk 6 táblázat között.
Ezt úgy akartam megoldani, hogy a 6 táblázatnak mind adtam egy tartománynevet és van egy cella, amelyikben mindig az a tartománynév szerepel, amelyikben éppen keresni akarok. A gond az, hogy az Fkeres nem tudja értelmezni ezt a cellát. Ha kézzel beírom a tartománynevet az ok neki, de ha a cellára mutatok, amiből ki kéne olvasni, az már nem megy neki. Hogy tudnám megoldani, hogy az fkeres függvény tudja értelmezni, hogy a cella, amire rámutatok abban mindig egy tartománynév szerepel?
Vagy ha ez nem megy, milyen más módon tudnék egy fkeressel dinamikusan több táblázatban is kutakodni? Egyszerre mindig csak 1 táblázatra van szükségem, de szeretném, ha tudna a táblázatok között váltani automatikusan, amikor kell.
''Annyira vagyunk egészségesek, amennyire a gondolataink humánusak.''
-
minilisa
csendes tag
sziasztok
egy sorozattal kapcsolatos kérdésem van: adott egy szám (projektkód, ez állandó), szóköz, majd egy betű(állandó), szóköz, majd ismét egy szám, aminek a sorozattal növekednie kellene (eggyel).
Egy ideig ez tök jól ment is, simán lehúztam a cella jobb alsó sarkát, de most az ELSŐ számot növeli meg, aminek állandónak kellene lennie, és nem bírom visszaállítani az eredeti módszert, hogy a második számsort növelje (pl 10241 s 234, alatta 10241 s 235, stb) itt a 234-et kellene ugye, de a 10241-et növeli meg annak ellenére, hogy ez egy kész file, ami eddig úgy működött, hogy a második számot növelte meg, semmit sem állítottam át. Mi lehet a baja??előre is köszi!!!
Mini -
gigi183
csendes tag
Sziasztok!
Nem volt időm mindent átböngészni, szóval bocsi, ha esetleg már volt ilyen kérdés.
Adott három oszlop pl péntek szombat vasárnap. A cellákban nevek vannak, amik jelölik, hogy az emberkék aznap éjjel a szálláson lesznek-e. Tehát vannak akik csak 1 vannak akik mindhárom napon maradnak. Kb 100 sorról beszélünk. Előfordulnak üres cellák is. Létre szeretnék hozni egy olyan gombot amihez egy olyan makrót rendelnék, amely formázná a középső oszlopot aszerint, hogy az előző oszlopban szerepelt-e a név, ha nem vagyis új érkező akkor mondjuk pirosra váltana a betűszín és félkövér lenne, illetve a következő oszlopban szerepel-e a név, ha nem vagyis aznap elmegy, akkor pedig mondjuk citromsárga lenne a kitöltő háttér szín.
Nem tudom mennyire voltam érthető
-
gigi183
csendes tag
-
Delila_1
Topikgazda
válasz gigi183 #10467 üzenetére
Ehhez nem kell makró. Jelöld ki a formázandó területet (2. oszlop), és a feltételes formázást add meg a kép szerint. Gombot sem kell nyomogatni, a név beírásakor a feltételeknek megfelelő formátumot vesz fel a cella.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
gigi183
csendes tag
Lenne az előbbivel egy kis gondom, nem értem mi lehet a probléma.
Csatolom a táblázatomat amivel dolgoznom kellene, erre kellene megcsinálni ezeket a beállításokat amiket leírtam az előbb. Lehet hogy a cellaösszevanások miatt vagy ilyesmi, de nem működik tökéletesen. Amit küldtél képet abban is valami nem stimmel nekem, mert pl Előd csak egy napra jött tehát neki is meg kellene kapnia a sárga hátteret..Az én táblám meg még annyiban nehezebb, hogy vannak olyan nevek amik többször szerepelnek egy oszlopban ami annyit jelent, hogy több szobát is ugyanarra a névre vettek ki, illetve egy névvel nem csak azonos típusú szobát vehet ki (lásd: G16 és G18-as cella).
A táblázatban a jelölések: a nevek mögötti betűk jelölik, hogy milyen áron vették ki a szobát (tehát lehet hogy csak ketten vannak egy négyágyas szobában) a cellaháttér is ennek megfelelően van. Felső sorban a napok. Bal oldali oszlopban a szobák típusát jelölték.Annyiban változtatnék a formázáson az előbbihez képest, hogy mondjuk az utolsó éjszakájukat itt töltőket áthúznám, az érkezőket meg zöld betűszínnel jelölném.
Itthon magyar 2007es office-om van, a melóhelyen meg angol van, ha ez számít. Először itthon szeretnék rájönni aztán segítené a munkámat benn.
[ Szerkesztve ]
-
Delila_1
Topikgazda
válasz gigi183 #10471 üzenetére
Kijelölöd a tartományodat C3-tól jobbra, és le, ameddig kell.
Feltételes formázás, Új szabály, A formázandó cellák kijelölése képlettel.
Az "Értékek formázása, ha ez a képlet igaz" rovatba ezt írod:
=DARABTELI(B:B;C3)=0, és megadod a zöld karakterszínt.
Újabb formázás, a 2. képlet =DARABTELI(D:D;C3)=0, itt az áthúzott szöveget adod meg.A feltételes formázás képletében az első egyenlőségjelet úgy kell érteni, mintha egy HA feltétel lenne, vagyis HA a darabteli függvény az előző oszlopban nem találja meg az aktuális oszlopbeli nevet, akkor az aktuális név legyen zöld színnel írva (C oszlopban kezdődött a formázás, ehhez képest a B az előző oszlop).
Javaslom, hogy háttérnek pasztell színeket adj, mert a mostani a vad piros, és lila háttéren nem látszik majd a zöld szöveg.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
gigi183
csendes tag
Megint én
Van egy másik táblám, ami szintén nagyon hosszú és a lényege az, hogy az Nts oszlopban lévő értékeket kell eggyel csökkentenem és ha 0 lesz az érték, (vagyis jelenleg 1), akkor a cellát illetve az attól balra lévő 3 másikat ki kellene törölni. Van erre valami automatizálási lehetőség?
Csatolom a képet, ebben is vannak összevont cellák ímmel-ámmal...
-
m.zmrzlina
senior tag
válasz Delila_1 #10444 üzenetére
Köszönöm még egyszer a segítséget, úgy tűnik működik. Bár sokszor éreztem úgy mint Bodri az Argó című filmben (ti. hogy "Sok nekünk ez a meló Tibi!") de végül összejött.
Végül a cellák nem ott és nem úgy voltak ahogy először írtam (vagy ahogy te értetted) de átírva a hivatkozásokat rendbe jött.
Annyi szépséghibája van a dolognak hogy ez a sor
usor% = ws.Range("B1").End(xlDown).Row + 1 'Első üres sor a ws.B oszlopában
meg ez:
usor% = ws.Range("H1").End(xlDown).Row + 1 'Mint fentmindaddig kiakadt Overflow hibával amíg nem volt legalább két sorban adat az általad A.xls munkafüzetnek nevezett listában. Pedig usor%-nak nem adtunk adattípust -tehát Variant lett-
abba pedig bele kellene férnie 1048576-nak.Vagy tévedek?
-
Delila_1
Topikgazda
válasz m.zmrzlina #10476 üzenetére
Ha a helyfoglalásnál % jelet teszel a változó után, akkor integer (egész) típusú értékeket vár értékként. Ilyenkor a Dim változó után nem kell (nem is engedi) az As Integer meghatározást.
A dim v$ string (szöveges)-, a v# double (lebegőpontos)-, a v! single (lebegőpontos, más tartománnyal)-, a v& long (egész, más tartománnyal, mint az integer)-, a v@ currency (fixpontos) értéket fogad. A napokban jöttem rá véletlenül, hogy elég a dimenzionálásnál megadni a %, $, stb. jeleket, a makró további részében már el lehet hagyni, de szerintem jobb később is kiírni a könnyebb követhetőség érdekében.
A túlcsordulást megelőzheted az
usor%=range("H1048576").end(xlup).row+1 formával.Ne hidd, hogy csak Te szenvedsz a makrók megírása közben.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz gigi183 #10474 üzenetére
Az Nts oszloptól balra lévő hármat fixen írod be, vagy valami képlet adja az értéküket?
Ha fixen, az alábbi egyszerű kis makró megoldja a lenullázást.A makrót ahhoz a laphoz kell rendelned, amelyiken ezt a műveletet végre akarod hajtani. Lapfülön jobb klikk, Kód megjelenítése. Bejutottál a VB szerkesztőbe, a jobb oldalon kapott üres lapra kell bemásolnod.
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Column = 5 And Target = 0 Then
Dim sor%, oszlop%
sor% = Target.Row: oszlop% = Target.Column
Range(Cells(sor, oszlop - 2), Cells(sor, oszlop - 1)) = ""
End If
Application.EnableEvents = True
End SubA csatolt képen nem látszik, milyen betűjelű oszlopban van az Nts. A makróban úgy vettem, hogy az E (ötödik) oszlop tartalmazza. Bemásolás után az If Target.Column = 5 And Target = 0 Then sorban írd át az 5-öt a megfelelő értékre.
A füzetedet másként, makróbarátként kell mentened, a kiterjesztése meg fog változni xlsm-re. Az Excelben is módosítanod kell a biztonsági beállításokat, ha eddig nem volt makrót tartalmazó füzeted.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz m.zmrzlina #10476 üzenetére
A ws.Range("B1").End(xlDown).Row annak a műveletnek a VB-s leírása, mikor a B1 cellán állva Ctrl+le nyilat nyomsz. Ha üres a B oszlop, vagy csak a B1-ben van érték, a fókuszod ilyenkor az alsó, 1048576. sorodra áll.
Mivel az usor% változó értékét
usor% = ws.Range("B1").End(xlDown).Row + 1 -ként adtuk meg, ez a 1048577. sort adja meg a változónak, ami eggyel több, mint amit az Excel lelke kibír. Ezért jelez joggal túlcsordulást.[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz m.zmrzlina #10480 üzenetére
Ez jó hír.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz gigi183 #10474 üzenetére
A makróban a
Range(Cells(sor, oszlop - 2), Cells(sor, oszlop - 1)) = ""
sort írd át
Range(Cells(sor, oszlop - 3), Cells(sor, oszlop - 1)) = ""-re.Eltévesztettem, és az Nts-től balra csak 2 oszlop értékeit töröltettem.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
-
Delila_1
Topikgazda
válasz gigi183 #10475 üzenetére
Nézd meg a 10482, és 10483-as hozzászólásokat. Az utóbbiban m.zmrzlina az Nts oszlopban a nullára átírt értéket is törölteti.
m.zmrzlina
Ha nincs szükség az Nts oszlopban a nulla értékre, igazad van, minek zsúfoskodjon ott.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
m.zmrzlina
senior tag
For... Each...Next ciklussal szeretném Munka2 egy adott tartományát Munka3 ugyanolyan méretű de pár sorral feljebb lévő tartományába másolni.
Hogyan tegyem?
-
m.zmrzlina
senior tag
válasz m.zmrzlina #10485 üzenetére
Megoldódott.
-
bugizozi
őstag
Sziasztok!
Ha az egyik cellámban Dátum formátumban van megadva az érték pl. 2011.06.14. akkor egy másik cellába ki lehet íratni betűkkel, hogy melyik hónapról van szó? (pl jelen esetben "június")
VCP7-DCV, CCNA ||| Ami működik, ahhoz nem szabad hozzányúlni!
-
-
Delila_1
Topikgazda
válasz m.zmrzlina #10485 üzenetére
Kell a ciklus? Ha a teljes tartományt akarod másolni feltételek nélkül, akkor elég ez is a Munka2 lapon állva:
range("a1:d100").copy sheets("Munka3").range("a10")
[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Zomb€€
őstag
-
Zomb€€
őstag
-
-
bnorci71
addikt
Szasztok!
kicsit körülményes amit szeretnék a megoldásról meg fogalmam nincs így megpróbálom leírni mit szeretnék.
Van egy adatbázisból legyűjtött excel táblázat legyen ez az excel1
Van egy ugyan ezen adatbázisból legyűjtött excel tábla ami tartalmaz plusz információkat viszont minden sor 2x szerepel benne. excel2
ez egy fogyasztói nyilvántartás ahol az excel1-ben nem szerepel emelet ajtó a címnél excel2-be ez megvan, de az adatbázisba minden fogyasztóhoz 2 bekötés -ez most nem lényeg, hogy mi csak ez az elnevezése- tartozik az excel1-be csak az egyik szerepel az excel2-be viszont mindkettő.
Namost azt szeretném ha exel1-be valahogy átkerülnének a címadatokhoz az emelet ajtó infok -külön oszopba vannak-, vagy excel2-ből az excel1-be nem szereplő sorok eltűnnének
Gondolom a 2 excel táblát kellene valahogy összehasonlítani mint a TC-be a shift F2 gombbal 2 mappa összehasonlítása"If in doubt, flat out!" "Straight roads are for fast cars, turns are for fast drivers"
-
Delila_1
Topikgazda
válasz bnorci71 #10498 üzenetére
Az adatok az A1-ben kezdődnek mindkét fájlban, vagy máshol, azonos sorokban, vagy nem?
Az excel1 első sora azonos az excel2 első sorával, vagy az excel2 első sora már tartalmazza a plusz adatokat? Az excel2-ben az emelet és ajtó a címmel azonos cellában szerepel, vagy külön? Ezek az adatok fontosak.Kicsit bőkezűbben bánhatnál a vesszőkkel, háromszor elolvastam az írásodat, mire úgy-ahogy megértettem, mi a lényeg. Talán csatolhatnál 2 képet a két fájl elrendezéséről.
Az sem mindegy, hogy az Excelnek melyik verzióját használod, írd meg.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
Új hozzászólás Aktív témák
- Steam, Windows, Origin kulcsok, előfizetések közvetlenül a kiadótól, a LEGJOBB ÁRON!
- World of Warcraft Shadowlands Collectors edition EU EN
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Vírusirtó, Antivirus VPN kulcsok
- Steames kulcsok jó áron eladóak!