-
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
-
Delila_1
Topikgazda
válasz Abi8211 #8079 üzenetére
A1-be beírod: 2009_01_01
Ezt szövegként értelmezi az Excel. Mikor lemásolod (lehúzod), az utolsó számjegyet növeli eggyel.
B1-> ="["& A1&"_DALY_REPORT.xls]TEMP!$F$9"
C1 (vagy ahova be akarod tenni a hivatkozást) -> =INDIREKT(B1)Szerkesztés
Amire figyelned kell: az A oszlopban a 2009_01_31 után 2009_01_32 következik, a hónapok utolsó napja után át kell írnod a hónapot és napot.[ 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 Abi8211 #8079 üzenetére
Egy egyszerűbb megoldás az A oszlopra:
Beírod az A1-be a kezdő dátumot 2009.01.01 formában. Ezt lemásolod, ameddig kell, majd kijelölve az oszlopot, a csere funkcióval minden pontot kicserélsz alsó kötjelre. Ezután jöhet a két képlet, amit az előbb ajánlottam.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
-
Delila_1
Topikgazda
válasz Nowhere #8090 üzenetére
Szúrj be egy oszlopot az első elé. A mellékelt kép megmutatja, mit tegyél.
Már javítok is. Beírtam a megjegyzést, utána töröltem a két táblázat között egy oszlopot.
A H3 képlete helyesen
=FKERES(F3& " " & G3;A:D;4;0)[ 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 Abi8211 #8089 üzenetére
Az xls kiterjesztésből látom, hogy a 2003-as verziót használod. Ha magyar nyelvű, akkor működnie kell, ahogy leírtam. Angol nyelvű esetén az INDIREKT helyett INDIRECT-et írj.
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 zsotesz81 #8100 üzenetére
Ha már megadtad a feltételben, hogy szám esetén másoljon, mi szükség van a másik két feltételre?
Sheets("data").Select
For b = 1 To 15
If IsNumeric(Cells(b, 2)) = True Then
oszlop = Worksheets("result").Range("IV1").End(xlToLeft).Column + 1
Worksheets("result").Cells(1, oszlop) = Cells(b, 2)
End If
Next[ 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 zsotesz81 #8104 üzenetére
Egy do-loop ciklussal végignézed a B oszlop tagjait az utolsó sorig. Ha a cella értéke "Resolved", akkor a másolás helye az ofszet(0,1) nevű lap. Innen egy belső do-loop ciklussal menj mindig a következő "Resolved"-ig, és ebben a belső ciklusban legyen a számok átírása az aktuális ország lapjára.
Biztos finomítani kell rajta.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 Fire/SOUL/CD #8108 üzenetére
Az Outlook Express-t használom. Egyszerűen láthatatlanná váltak a címek (amiket nem a C meghajtón tárolok), de megvannak. Rájuk tudok keresni, és néhány kattintással ki tudom találni az ismerősök levélcímét. A bejövőknél az általam megadott nevet mutatja, nem az e-mail címet.
Ha behívom a Címjegyzéket, azt lódítja, hogy nincs egy darab sem.
Már csináltam egy rendszer-visszaállítást, az sem segített. Azt hiszem, marad a leradírozás, és újra telepítés.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 scott_free #8117 üzenetére
Minden feladatra van több megoldás.
A C1 képlete: =indirekt(C1&1). A C1 cella adja az A, vagy B értéket, az & jellel hozzáfűzött 1-es az első sort.
Oszlop átmozgatása: kijelölöd az F oszlopot, a bal széle fölé állsz az egér mutatójával, míg kereszt alakú lesz nyilakkal a 4 végén. A bal gombot nyomva tartva húzod balra, mikor elértél az A oszlop fölé, megnyomod a Shift billentyűt, és felereszted az egér bal gombját.
[ 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 scott_free #8114 üzenetére
Meg lehet oldani a két "pöttyöt" is, de sokkal egyszerűbb az érvényesítés.
A cellán állva (vagy több cellát kijelölve, ha többe is be akarod tenni a két érték közüli válsztás lehetőségét), Adatok/Érvényesítés. A Beállítások fülön a Megengedve legördülőből a Listát választod, a Forráshoz beírod a két lehetőséget, pontosvesszővel elválasztva.
Nézd meg a Figyelmeztető üzenet, és a Hibajelzés füleket is, egyik kiállítása sem kötelező.
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
Ez a makró az A oszlopban A1-től figyeli, van-e megjegyzés. Ha nincs, törli a sort.
Sub DelRow()
Dim sor As Integer
sor = 1
Do While Cells(sor, 1) <> ""
If Range(Cells(sor, 1).Address).Comment Is Nothing Then
Rows(sor).EntireRow.Delete
sor = sor - 1
End If
sor = sor + 1
Loop
End SubAz A helyett 2 helyen a Cells(sor,1)-ben írd át az 1-et az oszlopod sorszámára. Ha nem az első sortól akarod a vizsgálatot végrehajtani, a sor=1-et írd át.
A makró feltételezi, hogy a kérdéses oszlop minden cellájában van valamilyen adat, ott is, ahol nincs megjegyzés.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
"nem a pivot része, csak a pivotnak megfelelő sorba mellév an írva egy megjegyzés"
Akkor más a helyzet. A kimutatásokat másold egy lapra egymás alá, értékként beillesztve, mert a pivotokból nem engedi az Excel a sortörlést. Mivel nem írtad, melyik oszlopokban vannak a billentyűzetről – vagy érvényesítésből – bevitt megjegyzések, önhatalmúlag a H és I oszlopokba tettem (8. és 9. oszlop). Ezeket írd át a makróban a megfelelőkre.
Sub DelRow()
Dim sor As Integer, usor As Integer
usor = Range("A50000").End(xlUp).Row
For sor = usor To 2 Step -1
If Cells(sor, 8) = "" And Cells(sor, 9) = "" Then Rows(sor).EntireRow.Delete
Next
End SubProgramozó: 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 scott_free #8125 üzenetére
Nem egészen értem, hogy jött ki az A1=3-ból az érvényesítés 1-8 listája.
Beteszek egy képet, ahol a megjeleníthető értékek az F1:F10 tartományvan vannak, és az A1 értéke adja a legördülő lista utolsó elemét.
Az érvényesítésben a forrás képlete: =OFSZET($F$1;0;0;A1;1)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 scott_free #8125 üzenetére
[ 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 scott_free #8129 üzenetére
Szívesen.
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 Abi8211 #8139 üzenetére
Egy üres cellába beírsz egy egyest - ez szám, vagy általános formátumú legyen. Másolod a cellát, kijelölöd a rosszul formázott tartományt, jobb klikk, Irányított beillesztés, bejelölöd az Érték-, és a Szorzás választókat.
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 scott_free #8138 üzenetére
Igen, minden gépen be kell kapcsolni, másképp a makró nem ismeri fel a függvényt.
Makró nélkül is érdemes bekapcsolni, sok új függvényt biztosít.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
Vidd be egy oszlopba 1-től 5000-ig a számokat. Legyen a példában ez az F oszlop.
A G1 képlete: =darabteli(a:a;f1)
Lemásolod. Ahol a G oszlop 0 értéket ad, a vele azonos sorban lévő F cella mutatja az A oszlop hiányzó elemét.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
Szúrj be egy sort az első elé. Az F1-be és a G1-be adj egy-egy címet. Jelöld ki a két cellát, Data/ Autofilter.
Kapsz egy-egy nyilacskát az F1-ben és a G1-ben, az utóbbi legördülőjében jelöld ki a nullát.
Az F oszlop látható celláit kijelölöd, és átmásolod egy másik lapra. Ezután az F és G oszlopokat kitörölheted.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 #8163 üzenetére
Írj egy makrót a cserére, tegyél ki hozzá egy gombot. Amelyik gépen szükség van a cserére, megnyomják, a másikon nem.
A másik fórumon, ahol feltetted ezt a kérdést, már leírtam ugyanezt az választ.
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
Egy egyszerű makró:
Sub IgenNem()
Dim v As String
v = MsgBox("Válassz! Folytatódjon a program?", vbYesNo, "Doboz címe")
If v = vbNo Then Exit Sub
MsgBox "Itt folytatódik a program"
End SubProgramozó: 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
Nézd meg ezt és az előzményeit.
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
Pl. a Hol.van és Indirekt függvényekkel lehet megoldani.
=INDIREKT("A"&HOL.VAN("keresett_szöveg";O:O;0))
A kérdésedből nem derült ki, milyen nyelvű Excelt használsz. Ímé angolul:
=INDIRECT("A"&MATCH("keresett_szöveg";O:O;0))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
Makróval megoldható.
Beszúrtam egy térképet, aminek az Excel automatikusan a Kép 1 nevet adta. Utána elhelyeztem a térképen 12 kört, amiknek a neve Ellipszis 2 -Ellipszis 13 lett. A makróban Oval 2 - Oval 13 néven kell rájuk hivatkozni.
Az első kör a piros, az óramutató járásával ellenkező irányban helyeztem el a többit.Makró:
Sub Nagysag()
Dim a As Integer
Dim nev As String
For a = 2 To 13
nev = "Oval " & a
ActiveSheet.Shapes(nev).Select
Selection.ShapeRange.Height = Cells(a, 2) / 80
Selection.ShapeRange.Width = Cells(a, 2) / 80
Next
End SubSzerk.: a Cells(a,2)/80 helyett olyan osztót adj, ami egy jó méretet ad az ábrán.
[ 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
Kicsit kibővítve az előző:
[M](C)Sub Nagysag()
Dim a As Integer
Dim nev As String
For a = 2 To 13
nev = "Oval " & a
ActiveSheet.Shapes(nev).Select
With Selection
.ShapeRange.Height = Cells(a, 2) / 50
.ShapeRange.Width = Cells(a, 2) / 50
.Characters.Text = Cells(a, 1) & Chr(10) & Cells(a, 2) & " MFt"
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.ReadingOrder = xlContext
.Orientation = xlHorizontal
.Characters.Font.Size = 6
End With
Next
End Sub(/C)[/M]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
Lehet, az zavart meg, hogy az előző válaszomnál nem figyeltem a megjelenést, és benne maradtak a formázásra vonatkozó, szögletes zárójelek között lévő M, és a zárójelben lévő C.
Azok elhagyásával működik a makró.
A diagram is jó megoldás.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
Úgy gondolom, hogy az sqlimport és a termekek nem tábla, hanem egy-egy lap. Ha így van, az sqlimport lap A1 cellájának a képlete:
=INDIRECT("termekek!A"&MATCH(O1;termekek!O:O;0))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 mr.nagy #8219 üzenetére
Miért nem jó a körlevél? Ahhoz is tudsz Excel adatokat csatolni.
Az Excelben egyszerre csak 1 űrlapot tudsz kinyomtatni, azt, amelyiknek az adatai éppen szerepelnek az adatlapon.Az elkészített sablonba így tudod bekérni az adatokat (pl.):
=AdatokatTartalmazóLap!B5Programozó: 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
Itt már 3 lapon dolgozunk. Remélem, most már jól írtad le a feltételeket. A "kepek" lap A1 cellájának a képlete
=INDIRECT("importsql!A"&MATCH(termekek!A2;importsql!J:J;0))
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 motinka #8231 üzenetére
Szia, megjöttem.
Azért nem működött a makró, mert nem jó helyre tetted. Az adat laphoz rendelted, pedig ezt egy új modulba kellett volna.
A füzetben Eszközök/Makró/Visual Basic Editor (vagy ezek helyett Alt+F11). Bejön a VBE. Bal oldalon kiválasztod a füzetedet, Insert menü, Module. A jobb oldalon kapott üres lapra kellett volna bemásolni.
Közben az is kiderült a füzetedből, hogy a C oszlopot szövegként formáztad az általános formátum helyett. A makró első sora ezértColumns("C:C").NumberFormat = "General"
kell legyen, mert az előállított függvény sem működne szövegként. Elküldöm a címedre a módosított fájlt.
Delila
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
Mindig új dolgot kérsz! Először két lap volt (az is űrlap), majd 3, más nevekkel, és más oszlopokból akartad kinyerni az adatokat, most a lapnév nem stimmel.
Amit ooo-nak nézel, az O betű, kettőspont, újabb O betű, a pontosvessző után pedig nulla.
Próbáld meg eszerint. Ha nem jön össze, küldd el a füzetet. Ígérem, hogy ma bele sem nézek, legfeljebb holnap.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 motinka #8244 üzenetére
Akkor mégis a laphoz kell rendelni a makrót.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = "" Then Exit Sub
If Target.Column = 3 And Target.Value = "W" Then
Range(Target.Address).Formula = "=IF(A" & Target.Row & "=""SC"",""SC"",""-"")"
End If
End SubA "TECHN" és "tipus" névadásokat egy OFSZET függvénnyel átírtam úgy, hogy az érvényesítések legördülőjében mindig annyi adat jelenjen meg, ahány éppen van a két listában - bővítés vagy szűkítés esetén az aktuális adatmennyiséghez igazodnak (Beszúrás/Név/Név megadása).
A + jel nem jó, mert azt az Excel egy képlet kezdetének érzékeli, helyette W-t tettem, és beírtam a TECHN lista első tagjának, vagyis azt is a legördülőből lehet kiválasztani. Ezt választva a C oszlopba beíródik a képlet, csak az aktuális sorba.
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 bnorci71 #8225 üzenetére
Tényleg elsiklottunk a régi kérdésed fölött.
A laphoz kell rendelned egy makrót -> lapfülön jobb klikk, Kód megjelenítése. A képernyő jobb oldalán kapott üres lapra másold be:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column < 28 And Target.Row >= 2 And Target.Row < 15 And _
Target.Column Mod 2 <> 0 Then
Range("A1:AI14").Sort Key1:=Range("AI2"), Order1:=xlDescending, Key2:= _
Range("AH2"), Order2:=xlDescending, Header:=xlYes, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, _
DataOption2:=xlSortNormal
End If
End SubProgramozó: 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
Ez azért van, mert bár szám külleműek az adataid, szöveg formátumúak. Körülményesen úgy tudnád átalakítani, hogy az egész tartományt szám formátumúra állítod, de egyenként le kellene enterezni utána mindet.
Egyszerűbben is lehet, szorozd meg az adatokat 1-gyel. Excelben ennek a módja: beírsz egy cellába egy 1-est, másolod, kijelölöd a felszorzandó tartományt, jobb klikk, Irányított beillesztés, Szorzás.
Figyelj arra, hogy mindegyik táblázatodban számként szerepeljenek az összehasonlítandó adatok.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
Legegyszerűbben úgy tudod meg, hogy szöveg-, vagy szám formátumú-e az oszlop, hogy néhányat együtt kijelölsz, a státuszsorban megnézed az összeget. Szöveg formátum esetén ezt nem mutatja.
Excelről írtam, az OO-t nem ismerem.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
-
Delila_1
Topikgazda
válasz bnorci71 #8252 üzenetére
Eszembe jutott valami, de megint csak este tudom kipróbálni. Érdekes feladat, biztosan más is próbálkozik addig a megoldással.
Hogy ne kelljen a lehetséges megoldóknak visszakeresni:
Az A2:A14 tartományban focicsapatok nevei vannak. A teljes tartomány címsorral együtt A1:AI14, ami az AI oszlop értékei szerint van csökkenő sorrendbe rendezve. Az AI változik, emellé kellenének a nyilak az AJ, vagy AK oszlopba.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 csferke #8261 üzenetére
A cellára így hivatkozhatsz:
Cells(sor,oszlop)A ciklussal, gondolom, a sorokon mész végig. Sornak a ciklusváltozódat írd be, az oszlopszámot meg fixen megadhatod.
Cells(sor,oszlop)=Válasz
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
- Microsoft licencek KIVÉTELES ÁRON AZONNAL - UTALÁSSAL IS AUTOMATIKUS KÉZBESÍTÉS - Windows és Office
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Canva Pro előfizetés - 1 éves
- Új, bontatlan World of Warcraft gyűjtői kiadások
- Autómatricák a legjobb minőségben, több ezer minta! PH tagoknak 30% kedvezmény!
Állásajánlatok
Cég: Alpha Laptopszerviz Kft.
Város: Pécs
Cég: Ozeki Kft.
Város: Debrecen