- One mobilszolgáltatások
- Milyen okostelefont vegyek?
- Amazfit Active 2 NFC - jó kör
- Fotók, videók mobillal
- Samsung Galaxy A36 5G - a középső testvér
- Samsung Galaxy Watch4 és Watch4 Classic - próbawearzió
- Apple iPhone 15 - a bevált módszer
- Android alkalmazások - szoftver kibeszélő topik
- Három Pixel 9 jött Magyarországra
- Xiaomi Mi 11 Ultra - Circus Maximus
-
Mobilarena
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
-
poffsoft
veterán
válasz
dellfanboy #28161 üzenetére
így nem lehet.
azt a bonyolultabb másik megoldással lehetne (két diagram egymáson) -
poffsoft
veterán
válasz
dellfanboy #28156 üzenetére
igen, el kell csúsztatni a sorokat.
Így valójában 24 halmozott oszlopod lesz, de mivel a párosoknak nem adsz címkét, a páratlanokat pedig egyesével számozod, így úgy látszik, mintha... -
poffsoft
veterán
válasz
dellfanboy #28151 üzenetére
ha jól értem, egy diagramban szeretnéd látni az első két sor halmozott oszlopát,
és a második két sor halmozott oszlopát?trükközéssel mehet (2 diagram egymáson, elcsúsztatva, az egyiknek minden területe átlátszóvá téve, kivéve az oszlopok maguk, rögzített tengelyhatárok, stb) ...
-
poffsoft
veterán
D12-be:
=KEREK.FEL(TÖRTÉV(HA(DÁTUM(0;HÓNAP(A12);NAP(A12))<=DÁTUM(0;HÓNAP(C12);NAP(C12));DÁTUM(ÉV(A12);HÓNAP(C12);NAP(C12));HA(DÁTUM(ÉV(A12)+1;HÓNAP(A12);NAP(A12))<=DÁTUM(ÉV(B12);HÓNAP(B12);NAP(B12));DÁTUM(ÉV(A12)+1;HÓNAP(A12);NAP(A12));B12));B12);0)A: start, B: end; c:keresett
remélem ez már pontosabb.
Annyit azért kérdeznék, ha segédoszlopokat használna a képlet, az gondot okozna-e?
próbálgasd a dátumaiddal, és jelezz!
-
poffsoft
veterán
új drag, 4. labellel, némi csinosítással : [link]
Amúgy ha vba ablakban vagy , Forms/dragdrop1 <jobbklikk>:
view code: a form makrólapja
view object: maga a form (most ezt keresed)ezután a főmenüben View/Toolbox : az userform vezérlőinek menüje.
Itt a nagy A lesz a label, azt kijelölöd, és rajzolsz egyet az userformba. -
poffsoft
veterán
megoldható hogy az adott fájlokat dragdopolod- láttam már ilyen makrót..
(#28105) TrollBalint: Nem bántásból, de én az R1C1 típusú hivatkozásokat értettem a hsz-ből.
Ha valóban csak "R1C1" hivatkozásai vannak, akkor működik a módszered, de egy csomó más miatt még mindig nem fog működni a képlete (mint említettem, "," vs ";" probléma mint szeparátor, de pl. a függvénynevek is.
Azt továbbra sem értem, hogyhogy nem konvertálódik a workbook megnyitáskor. -
poffsoft
veterán
válasz
TrollBalint #28099 üzenetére
és azt hogyan adod meg, hogy a képletekben minden R#C# típusú substringben az R-t S-re, a C-t O-ra cserélje?
a következő gond a "," vs ";" lesz. -
poffsoft
veterán
válasz
KubanitoS #28084 üzenetére
értem.
amit javítanod kell, uoszl az utolsó adatot tartalmazó oszlop EXCEL azonosítója szerint, ez nálad az E nevű oszlop a képen, ami ugye az excelnek "F", de nem látom a végét...Sub SorTorles()
Dim sor As Long, usor As Long
Dim lapsor As Integer
Dim fejlec As Integer
Dim aktsor As Integer
Dim uoszl As String
usor = Range("B" & Rows.Count).End(xlUp).Row
lapsor = 29
fejlec = 4
uoszl = "F"
aktsor = fejlec + 1
For sor = aktsor To usor
If (sor - 1) Mod lapsor = 0 Then sor = sor + fejlec
Do While Application.WorksheetFunction.CountA(Range(Cells(aktsor, "B"), Cells(aktsor, uoszl))) = 0 And aktsor <= usor
aktsor = aktsor + 1
If (aktsor - 1) Mod lapsor = 0 Then aktsor = aktsor + fejlec
Loop
If aktsor > usor Then Exit For
If Application.WorksheetFunction.CountA(Range(Cells(sor, "B"), Cells(sor, uoszl))) = 0 Then
Range(Cells(aktsor, "B"), Cells(aktsor, uoszl)).Select
Selection.Copy
Application.CutCopyMode = False
Selection.Cut
Range(Cells(sor, "B"), Cells(sor, uoszl)).Select
ActiveSheet.Paste
End If
aktsor = aktsor + 1
If (aktsor - 1) Mod lapsor = 0 Then aktsor = aktsor + fejlec
If aktsor > usor Then Exit For
Next
End Sub -
poffsoft
veterán
válasz
KubanitoS #28082 üzenetére
namost a kérdésem:
minden munkalapon van a fejléc és max 25 sor (ezesetben Delila makrója kell neked, ahogyan leírta),
vagy egy munkalapon van 25 soronként a fejléc (vagyis 29 soronként, 25 adatsor plusz 4 sor a fejléc), ezesetben az enyémmel próbálkozz-módosítani kell még, mivel, ahogyan látom, az A oszlopban a sorszám van, vagyis teljes sorokkal nem operálhatunk, így egyelőre nem jó a makró, a row() helyett majd range() lesz, de ehhez tudni kellene, meddig vannak az adatok (pl Range("B5:H5"))
a
fejlec=4
és
lapsor=29
amit módosítanod kell majd.amíg Delila ki nem rukkol az elegánsabb kóddal.
(#28081) Geryson : Nincs mit
-
poffsoft
veterán
válasz
Delila_1 #28076 üzenetére
picit faragtam a makrót, ha a feladatot jól értettem:
Sub SorTorles()
Dim sor As Long, usor As Long
Dim lapsor As Integer
Dim fejlec As Integer
Dim aktsor As Integer
usor = Range("A" & Rows.Count).End(xlUp).Row
lapsor = 10
fejlec = 3
aktsor = fejlec + 1
For sor = aktsor To usor
If (sor - 1) Mod lapsor = 0 Then sor = sor + fejlec
Do While Application.WorksheetFunction.CountA(Rows(aktsor)) = 0 And aktsor <= usor
aktsor = aktsor + 1
If (aktsor - 1) Mod lapsor = 0 Then aktsor = aktsor + fejlec
Loop
If Application.WorksheetFunction.CountA(Rows(sor)) = 0 Then
Rows(aktsor).Select
Selection.Copy
Application.CutCopyMode = False
Selection.Cut
Rows(sor).Select
ActiveSheet.Paste
End If
aktsor = aktsor + 1
If (aktsor - 1) Mod lapsor = 0 Then aktsor = aktsor + fejlec
If aktsor >= usor Then Exit For
Next
End Sublapsor: hány soronként jön a fejléc
fejlec: hány soros a fejléc -
poffsoft
veterán
ettől féltem, hogy a forráslap törlődik.
megoldás1:
a rendelés azonosító folyamatos?
akkor törlés előtt a rendeléshez kötni a gyártás adatokat, minden új nap előtt makróval kigyűjteni az adatokat.megoldás2: új napon nem törlöd a tegnapit, hanem új lapot hozol létre, mondjuk ilyen névvel: DÁTUM-gyartas
20150723-gyartas
20150724-gyartas
stb.erre màr képletekkel hivatkozhatsz bárhonnan...
-
poffsoft
veterán
válasz
Delila_1 #27840 üzenetére
Nem az érvényesítésre kér üzenetet, hanem pl. ha a legördülőből az "1"-et választják, kell egy figyelmeztetés, hogy pl. "Az m1, m3 és n5 cellát is ki kell tölteni!", de ha a "3"-ast, akkor "Csak az O5 cellát kell kitölteni!", ha a "2"-t, akkor nem kell üzenet.
Ez makróval fog menni szerintem (a felugró ablak miatt). Egyébként a cellaérték alapján íratnám a következő oszlopba a megfelelő szöveget
-
poffsoft
veterán
Akkor javaslom az fkeressel két újabb oszlopot felvenni (mondjuk a "K"-ba), az eredeti képlettel:
=FKERES(A4;Gyártás1!$A$4:$A$268;1;HAMIS)>0
"L"-be:
=FKERES(A4;Gyártás2!$A$4:$A$268;1;HAMIS)>0a feltételes formázáshoz pedig :
=VAGY(K4;L4)Amúgy sokkal egyszerűbb lenne, ha elküldenéd a táblázatodat...
A feltételes formázást pedig akkor úgy add meg, hogy kijelölöd a teljes B4:B268 tartományt, és úgy a feltételes formázás a fentiek szerint.
A 3 feltételes formázás ne zavarjon szerintem:
Ha gyártódik, a B4 cella (oszlop) zöldül, ha késik, az E4 cella (oszlop) pirul, stb, stb.A feltételeket pedig több segédoszlopba kombinálhatod, a feltételes formázás pedig csak az adott oszlop IGAZ/HAMIS értékét figyelje...
(vagyis pl. a =VAGY(K4;L4) menjen az M4-be, a feltételes formázás pedig :
=M4
Delila képlete is mehet segédoszlopba pl.A státusokra is bevezethetsz akár plusz oszlopokat(ha a határidő-dátum()>14, akkor az N4 zöld, ha határidő-dátum()>10és <14 akkor O4 citrom, ha 5-10, akkor P4 narancs, stb, stb )
Az üres figyelése mellett megoldás lehet, ha nem a kitöltést színezed pirosra, hanem a szöveget. Üres cellánál nincs mit színeznie a feltételes formázásnak -
poffsoft
veterán
jól sejted, feltételes formázás.
B4 cellára állva, feltéve, hogy a J4-ben van a dátum:
Új szabály/ formázandó cellák kijelölése képlettel.=DARAB(J4)=1
A feltételes formázásnál az érvényességet pedig átírod :
=$B$4:$B$268a másodikra hasonló módon az FKERES-t használnám:
A4 cellára állva:
=FKERES(A4;Gyártás!$A$4:$A$268;1;HAMIS)>0A feltételes formázásnál az érvényességet pedig átírod :
=$A$4:$A$268De a feltételes formázást és képleteket használva pl. a DÁTUM() fv. segítségével fokozatosan színezheted pl. az adott megrendelés "határidő" celláját is, ahogy közeledünk a határidőhöz (és a "Kiszállítva" oszlop üres...)
-
poffsoft
veterán
válasz
Fferi50 #27716 üzenetére
Szia,
értem, ezért mondtam, hogy az előző módszerem favágós.
Másképpen próbálom elmondani a problémát:
A selection-ban lévő cellákról kell megállapítanom, hogy 1 db single cella vagy 1 db összevont cellák a tartalma.
vagyis ha egy area (feltételezzük, hogy mindig egy area, nem többszörös kijelölés), de két összevont cellák, az is hiba
(a példámnál a "B1:B3", és a "C1:C3", amiről tudjuk, hogy összevont cellák). -
poffsoft
veterán
-
poffsoft
veterán
Sziasztok!
VBA-ban kellene ellenőrizni, hogy a selection egyetlen single cell-ből, vagy egyetlen merged range-ből áll-e.
De nem jutok vele dűlőre...
tipp? -
poffsoft
veterán
válasz
azopi74 #27685 üzenetére
pl. egy adatoszlopból egy új listába "felajánl" egy képlet értéket, de ezt sok esetben felül kell írni. az érték törlésével az eredeti képlet visszaírása csak kényelmi funkció.
makro nélkül is megoldható, egy segédoszloppal...
=HA(ÜRES.E("Számcella");"Képletcella";"Számcella")szerintem.
-
poffsoft
veterán
sziasztok!
Adott egy "nyomógombom", amit mindig az aktuális cellában jelenítek meg (Delila, lehet hogy emlékszel még rá).
Amikor a shape közelébe ("mousemove"?) ér a kurzor, átvált a mozgatás formára ("kettős nyíl").
Ezt hogyan lehetne letiltani? Letiltani a shape mozgatását, átméretezését?Set zBtn = ActiveWorkSheet.ActiveCell.Parent.Shapes.AddShape(msoShapeBevel, x, y, x1, y1)
zBtn.Select
With Selection
.Name = "btnEdit" 'assign name for this shape
.ShapeRange.Fill.ForeColor.RGB = RGB(0, 0, 255) 'Blue button colour
.ShapeRange.Line.Visible = msoFalse 'no lines on button
.OnAction = "AddButtons" '<< macro assigned to this button
End With -
poffsoft
veterán
válasz
gaborlajos #25704 üzenetére
lehetséges, hogy érvényesítéssel is megoldható...
Persze nem tuti , csak tipp. -
poffsoft
veterán
Sziasztok!
Makró kellene a következő feladatra:
Egy oszlopban több egyesített cella van.
Végig kellene nézni az oszlopot, és az egyesített cellákat szétbontva az üres cellákba be kell másolni a legfelső cella értékét (vagyis az eredetileg az egyesített cella értékét).
Ezt visszafelé is, tehát az azonos tartalmú cellákat az adott oszlopban egyesíteni kell. Nem fix a sorok száma.köszi!
-
poffsoft
veterán
válasz
dellfanboy #16598 üzenetére
ez legyen mondjuk B2-ben:
=HA((A2*0,0001*$B$1)>10;(A2*0,0001*$B$1);10)A2-ben a darab, B1-ben az egységár (12 Ft)
-
poffsoft
veterán
válasz
Excelbarat #16513 üzenetére
Azért a range("b").select hibát fog adni, hacsak nem nevet is adtál neki valahol
Próbáld így:
Range("A1").Name = "Delila_1"
Range(Delila_1)=b -
poffsoft
veterán
válasz
Vladek83 #16491 üzenetére
Próbáld ezt a módosítást.
"Sheet1" a munkalap neve, amit menteni akarsz.....
'mentünk ha még nincs ilyen névvel fájl
If Dir(BackupLocation & "\" & inputFileName & FileExt) = "" Then
'mentünk
Sheets("Sheet1").Copy
ActiveWorkbook.SaveAs BackupLocation & "\" & inputFileName & FileExt
Call MsgBox("Fájl elmentve " & inputFileName & " névvel.", vbOKOnly, "Mentés")
Else
... -
-
poffsoft
veterán
válasz
csferke #16470 üzenetére
esetleg az int() ?
Sub test()
If IsNumeric(ActiveCell) Then
If ActiveCell.Value - Int(ActiveCell.Value) <> 0 Then
MsgBox "no"
Else
MsgBox "yes"
End If
End If
End Sub"Ha nem egész szám a bevitt szám (pl. 1,23) akkor nem jó a bevitt érték =>123.00"
Valószínűleg az a gondod, hogy a VBA csak "angolul" tudja a formátumokat... -
poffsoft
veterán
mert a select és a pastespecial parancsok újra meghívják a makrót (miközben már fut), mindig egy újabb ciklust indítva....
Esetleg egy flaggal jelezhetnéd neki, hogy "mostnemkell":
(Ez az én favágó megoldásom):Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("A1") = "s" Then Exit Sub
If Range("L2") = "valami" Then
Range("A1") = "s"
Range("L2:M2").Select
Selection.Copy
Range("B2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("L2:M2").Select
Application.CutCopyMode = False
Selection.ClearContents
End If
Range("A1") = ""
End SubEz meg a korrekt megoldás:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
If Range("L2") = "valami" Then
Range("L2:M2").Select
Selection.Copy
Range("B2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("L2:M2").Select
Application.CutCopyMode = False
Selection.ClearContents
End If
Application.EnableEvents = True
End Sub -
poffsoft
veterán
válasz
Excelbarat #16378 üzenetére
Nem is tudtam, hogy a name az lehet csak "munkalap hatókörű"...
-
poffsoft
veterán
válasz
gepesz13 #16243 üzenetére
Már megint a nyamvadt szóközök.
A C2:C4-be írd már be ezt a képletet csak a vicc kedvéért:
=HA(HOSSZ(A2)-HOSSZ(TRIM(A2)) ; "HIBA!!!" ; "Ok")Plusz egy picit hibás a képleted, mert az fkeresnek rendezett halmaz kell (ha a 4. paraméter igaz vagy nincsen.
A megoldás a joker karakter a keresésbe:
=HA(HIBÁS(FKERES("*"&A1&"*";Munka1!A1:B2;2;0));"";FKERES("*"&A1&"*";Munka1!A1:B2;2;0)) -
poffsoft
veterán
válasz
gepesz13 #16223 üzenetére
az a ha függvény paramétere:
ahogyan lappy írta, megkeresi az értéket (az FKERES()), illetve a HIBÁS() fv megvizsgálja, létezik-e eredmény (pontosabban azt nézi meg, hogy nem létezik az eredmény.)
A HA() függvény pedig: ha a HIBÁS(...) fv értéke igaz (vagyis nincsen találat) , akkor a cellának a "semmi" értéket adja (A két idézőjel valójában egy nullsztringet reprezentál, vagyis valójában azért nem marad üres a cella, csak nem látható az eredménye) , ha pedig a HIBÁS() fv eredménye hamis (vagyis létezik találat), akkor pedig a keresett értéket veszi fel a cella.
Excel súgóban minden benne van -
poffsoft
veterán
=ÖSSZEFŰZ("*P";TRIM(A1);"*")
-
poffsoft
veterán
válasz
klambi #16179 üzenetére
igen, itt a válasz lentebb..
Még annyi kiegészítés, hogy esetleg a mostani dátumot a
=ÉV(MA())
használatával alkalmazhatod.
Amúgy szövegből dátumot is lehet csinálni:
=DÁTUMÉRTÉK(A1 & "." & B1 & "." & C1)vagy a te esetedben pl számokból is lehet dátumot csinálni:
=DÁTUM(A1;1;1)így a képleted:
=CSONK(YEARFRAC(DÁTUM(A1;1;1);MA();3);0)Ha egyéb megoldásokra is vágysz:[link]
-
poffsoft
veterán
-
poffsoft
veterán
='C:\Jelentések\[Költségvetés.xlsx]Éves'!C10:C25
Megjegyzés: Ha a másik munkalap vagy munkafüzet neve betűkön kívül egyéb karaktereket is tartalmaz, a nevet (vagy az elérési utat) nyomdai szimpla idézőjelek között kell megadnia.
Legegyszerűbben az I5-be írj egy = jelet, aztán az egérrel klikkelj a C1-re, aztán enter...
-
poffsoft
veterán
válasz
Csontoshun #16008 üzenetére
"az lenne hogy Indexbe megvan adva a neve ": bocs, de még mindig nem értem?
az fkeres súgóját nézted? -
poffsoft
veterán
válasz
Csontoshun #16005 üzenetére
nem tiszta...
talán az fkeres lesz a te fv-nyed...
Új hozzászólás Aktív témák
Hirdetés
- Filmvilág
- Villanyszerelés
- Autós topik
- Sugárhajtómű ihlette a Zalman CPU-hűtőjét, de nem az üzemzaj tekintetében
- Gaming notebook topik
- E-roller topik
- NTFS, exFAT, FAT32 – Melyiket válaszd és miért?
- The Crew sorozat
- RC modell földön, vízen, levegőben
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- További aktív témák...
- 27%-OS ÁFÁS SZÁMLA I Jogtiszta Microsoft digitális és fizikai termékek I DIGITALKEYZ.COM
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap - NYÁRI AKCIÓ!
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- 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!
- ÁRGARANCIA!Épített KomPhone i5 13400F 16/32/64GB RAM RTX 5060 Ti 16GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone i9 14900KF 32/64GB RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 16/32/64GB RAM RTX 4060Ti 8GB GAMER PC termékbeszámítással
- 4 év gari - magyar bill. - Lenovo ThinkPad Z13 G1 - AMD Ryzen R7 Pro 6850U, 13.3" 2.8K OGS érintő
- REFURBISHED - DELL Thunderbolt Dock WD19TBS docking station (210-AZBV)
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest