Hirdetés
- Bestbuy játékok
- Star Wars: The Old Republic - MMORPG
- Assetto Corsa Competizione
- Már jövőre befuthat a Stellar Blade PC-s kiadása
- Nintendo Switch
- Fortnite - Battle Royale & Save the World (PC, XO, PS4, Switch, Mobil)
- Elite: Dangerous
- Xbox Series X|S
- WoW avagy World of Warcraft -=MMORPG=-
- Úgy tűnik, hogy elkészült a S.T.A.L.K.E.R. 2 Heart of Chornobyl
-
GAMEPOD.hu
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
-
dogpatch06
csendes tag
válasz DeFranco #44948 üzenetére
Különben ide linkeltem be a hiba üzenetet.
-
konyi79
addikt
Sziasztok, nagy excel mágusok!!!
Replusz művelet? Úgy 60 cella értékéből számolni van-e fv rá?Köszönöm!!!
-
lappy
őstag
Igen nem lehet használni, de itt van egy makro amit a modulba mentesz
Option Explicit
Function My_Text_Join(delimiter As String, ignore_empty As Boolean, text_range As Range) As String
Application.Volatile
Dim c As Range
Dim n As Long
n = 0
For Each c In text_range
If ignore_empty = True Then
If VBA.IsEmpty(c.Value) = False Then
If n = 0 Then
My_Text_Join = c.Value
Else
My_Text_Join = My_Text_Join & delimiter & c.Value
End If
n = n + 1
End IfElse
If n = 0 Then
My_Text_Join = c.Value
Else
My_Text_Join = My_Text_Join & delimiter & c.Value
End If
n = n + 1End If
NextEnd Function
Ha szeretnéd más névvel akkor cseréld le a My_Text_Join -t
használata =My_text_join(" ";1;A1:A6)[ Szerkesztve ]
Bámulatos hol tart már a tudomány!
-
Plebi
senior tag
Köszönöm ezt elmentem, de inkább kérek office upgrade-t, jó lenne használni a MAXHA stb, újított függvényeket is.
Gigabyte B450 Aorus Pro; Ryzen 5 3600; 16GB DDR4 3200 HyperX Predator, Sapphire Pulse 6600, SSD-k+HDD; NZXT H510 Elite; CM Silent Pro M2 620W; NZXT X62 Kraken; Dell 2311H; XSX; PS5
-
jackal79
aktív tag
Sziasztok!
Megvalósítható az excelben, hogy egy munkafüzetben a lapokat úgy levédeni, hogy ne lehessen csak jelszóval kinyitni?
Köszönöm! -
-
dfilpo
csendes tag
Sziasztok!
Adott egy kb 3000 soros excel különböző termékekről. Az A oszlop bal szélén egy kis beszúrt kép van mindegyik termékről, de ezek eltérő méretűek, így nem esztétikus. Hogy tudnám az összes képet az A oszlop celláinak a közepére helyezni egyszerűen?
köszi -
Kátai
senior tag
Sziasztok!
Segítsetek légy szíves,hogy milyen képletet írjak a következőre.
Egy cellában adott egy dátum(pl.2020-01-01),ehhez szeretnék hozzáadni hónapban mondjuk 12 hónapot,és ez természetesen egy másik cellában jelenjen meg év,hó,nap(2021-01-01). formában.
Excel 2019-es verzió.
Előre is köszönöm.[ Szerkesztve ]
-
jackal79
aktív tag
-
Sprite75
tag
válasz jackal79 #44962 üzenetére
Próbéltam ilyet keresni de nem találtam. A lap elrejtős/felfedős dolog is jó lehetne szerintem neked, ha azt meg lehetne úgy csinálni makróval, hogy ha fel akarod fedni az elrejtett lapokat akkor kérjen jelszót.
Amit most kipróbáltam hogy pl a Munka2 lapot elrejteni és felfedni makróval, jelszóval védve a füzetvédelem segítségével, csak ezzel az a baj hogy a makrót bárki tudja használni aki megnyitja a táblázatot
Sub lezár() ' A Munka2 lapot elrejti és zárja le jelszóval
Sheets("Munka2").Select
ActiveWindow.SelectedSheets.Visible = False
Sheets("Munka1").Select
ActiveWorkbook.Protect 1, Structure:=True, Windows:=False ' Az 1 a jelszó
End Sub
Sub kinyit() ' A Munka2 lapot felfedi
ActiveWorkbook.Unprotect 1 ' Az 1 a jelszó
Sheets("Munka1").Select
Sheets("Munka2").Visible = True
End Sub
-
Đusty
addikt
Sziasztok!
Egyszerű feladatra nem találok megoldást. Olyat szeretnék mint az fkeres csak ne kelljen második oszlopba az eredményt végigírni amit visszaad hanem egyszerűen az az oszlop neve legyen, tehát csak 1 cella. És ebből lenne több oszlop. Fontos még ha pedig nem talál semmit ne a #hiányzik vagy #név tehát hiba jelenjen meg a cellában hanem semmi.
Nem tudom így érthető-e.
valami ilyesmi:
Tehát i oszlop keres g re a b és c oszlopban és azt adja eredményül amelyikben benne van. És még kicsivel több ilyen oszlop kellene.[ Szerkesztve ]
-
Delila_1
veterán
Az Index függvénynek van egy olyan változata, ahol több területet adhatunk meg a tartomány kiválasztásához.
Felveszünk egy segédoszlopot, ahol kikeressük a megfelelő tartományt. Ez nálam a P oszlop. A P2 képlete=HA(DARABTELI($B$2:$B$10;M2)<>0;1)+HA(DARABTELI($D$2:$D$8;M2)<>0;2)+HA(DARABTELI($F$2:$F$11;M2)<>0;3)+HA(DARABTELI($H$2:$H$9;M2)<>0;4)
Mikor a terület sorszámát már ismerjük, meghatározhatjuk annak a címét.
Az O2 cella képlete=HAHIBA(INDEX(($B$2:$B$10;$D$2:$D$8;$F$2:$F$11;$H$2:$H$9);1;1;P2);"")
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
zsolti_20
senior tag
Sziasztok,
Ti hogyan modositanatok ezt a VBA kodot uhgy hogy egy H4 cella tartalmat kepes legyen atmasolni? Mivel ez a kod picit lassu gondolom a megnyitas es bezaras miatt, szeretnek beszurni meg egy sort hogy a H4 cella tartalmat is atmasolja. De nem jovok ra hogyan lehet.
Set xlBook = xlApp.Workbooks.Open(sFileName)
xlBook.Sheets(6).Range("J5:K20").Copy
xlApp.DisplayAlerts = False
xlBook.Close
xlApp.Quit
Set xlBook = Nothing
Set xlApp = Nothing
Set xlBook = ActiveWorkbook
Set Sh = xlBook.Sheets("Transactions")
Sh.Activate
Range("A342").Select
Sh.Paste
Range("A342").Select
-
[CS]Blade2
addikt
Van egy számolt oszlop amiben idők vannak összeadva órára: Pl.: 265:00:00 vagy 512:50:00.
HA függvénnyel kellene egy másik oszlop, ami kiadja, hogy, ha 330-nál több, akkor abból az időből vonjon ki 330 órát.
Az cellák az Idő / 37:30:55 -formátumúra vannak rakva.
Szerk.: Közben átraktam általánosra, és úgy 13,75 a 330:00:00, úgy működik. Kiszámoltatom, utána pedig visszarakom Idő-re, úgy jó lenne.
Kérdés, hogy van-e jobb megoldás?
[ Szerkesztve ]
-
Delila_1
veterán
válasz [CS]Blade2 #44972 üzenetére
A C1 cellába tettem az idők összegét, a formátum [ó]:pp:mm.
Az Excelben az idő alapegysége a nap, ezért a 330 órát át kell számolnunk napba: =330/24.
A feltétel képlete=HA(C1>330/24;C1-330/24;C1)
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Doki16
addikt
Sziasztok!
Szerintetek lehetséges olyat megcsinálni Excel, hogy egy adott értéket egy másik megadott értékben másoljon tovább. Például megadok egy darabszámot egy cellában ami legyen 10. A másik cellában van egy érték ami 290. Azt szeretném, hogy ezt a 290-et 10-szer másolja át külön cellákba. Érthető ez így valamennyire?
A Tyrannosaurus Rex legközelebbi ma is élő rokona: a csirke.
-
Delila_1
veterán
-
zsolti_20
senior tag
Sziasztok! A fentebbi problémát sajnos még nem sikerült megoldanom, de arra gondoltam hogy nem lehet úgy kijelölni a cellákat mintha CTRL tartanám lenyomva? Pl egérrel kitudjétok jelölni simán a B1 : C10-et, de utána ha a CTRL lenyomom még kitudom jelölni mondjuk az A1-e. Ez megoldható valahogy VBA-val?
Ez a sor felel nálam a másolásért:
xlBook.Sheets(6).Range("J5:K20").Copy
És ez a beillesztésért:
Sh.Activate
Range("A342").Select
Sh.Paste
Range("A342").Select
Nem lehet úgy megoldani hogy:
xlBook.Sheets(6).Range("J5:K20").Copy
xlBook.Sheets(6).Range("H4:H4").Copy
Sh.Activate
Range("A342").Select
Sh.Paste
Range("A342").Select
De gondolom így csk a H4 cela lesz másolva. Nem tudom mennyire érthető amit írtam.
[ Szerkesztve ]
-
Delila_1
veterán
válasz zsolti_20 #44976 üzenetére
A különböző területek együttes kijelölése a VBA-ban
xlBook.Sheets(6).Range("J5:K20, H4").Select
formában lehetséges, de másolni csak két lépésben tudsz.xlBook.Sheets(6).Range("J5:K20").Copy Sh.Range("A342")
xlBook.Sheets(6).Range("H4").Copy Sh.Range("A342")A beillesztésnél nincs szükség az Sh aktiválására, amint a fenti 2 sorban láthatod.
Annak mi értelme, hogy az Sh.Range("A342") helyre bemásolod előbb a 15 cellás tartományt, majd a H4 cellával felülírod?Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
zsolti_20
senior tag
válasz Delila_1 #44977 üzenetére
Köszönöm sikerült megoldani. És hirtelen lett is egy másik problémám.
A cella tartalma mondjuk "kecske: 550". Ha ezt átiratom egy másik cellába a "=SUBSTITUTE(A1;"kecske";"")" hogy csak a szám maradjon meg belőle, valami oknál fogva nem tudok vele számolni =SUM-al.
Ennek mi lehet az oka? -
Delila_1
veterán
válasz zsolti_20 #44978 üzenetére
Szívesen.
Megkeressük a szövegben a szóköz helyét, ami ebben az esetben 8. Ehhez adunk 1-et, mert a következő karaktertől kezdve kell a szöveg többi része. Ekkor a szám szövegként szerepel, ezért megszorozzuk 1-gyel, így számmá alakítjuk. Már lehet is számolni vele.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
zsolti_20
senior tag
-
spe88
senior tag
Hello!
Makrót szeretnék futtatni gombnyomásra.
Egy adott tartományt kellene másolni folyamatosan, viszont ellenőrizni kellene hogy ahova másol ott van-e már adat. Ha igen akkor menjen tovább.
pl.:
a1:d2 másolása gombnyomásra úgy, hogy egy sor kimaradjon az a4:d5 tartományba. Ha az is foglalt, akkor az a7:d8 tartományba és így tovább.
Mi lehetne itt a kód? Köszi szépen
Spóroljunk! Kerül, amibe kerül!
-
Delila_1
veterán
válasz zsolti_20 #44992 üzenetére
Ha PasteSpecial-t alkalmazol, azt is meg kell adnod, hogy mit illesszen be. Értéket, formátumot, mindent, oszlopszélességet, stb.
Érték beillesztésnélSh.Range("A204").PasteSpecial xlPasteValues
Látod, a hely meghatározása CSAK Range("A204"). Mivel 1 celláról van szó, nem kell tól-ig tartományt megadnod.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
zsolti_20
senior tag
válasz Delila_1 #44995 üzenetére
A legjobb lesz ha bedobom ide a telejs kódrészletet ami a másolásért felel.
Dim xlApp As Application
Dim xlBook As Workbook
Dim Sh As Object
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open(sFileName)
xlBook.Sheets(6).Range("H4").Copy
xlApp.DisplayAlerts = False
xlBook.Close
xlApp.Quit
Set xlBook = Nothing
Set xlApp = Nothing
Set xlBook = ActiveWorkbook
Set Sh = xlBook.Sheets("Transactions")
Sh.Activate
Range("C339").Select
Sh.Paste
Range("C339").Select
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open(sFileName)
xlBook.Sheets(6).Range("J5:K20").Copy
xlApp.DisplayAlerts = False
xlBook.Close
xlApp.Quit
Set xlBook = Nothing
Set xlApp = Nothing
Set xlBook = ActiveWorkbook
Set Sh = xlBook.Sheets("Transactions")
Sh.Activate
Range("A342").Select
Sh.Paste
Range("A342").Select
-
Delila_1
veterán
válasz zsolti_20 #44996 üzenetére
Ha jól látom, megnyitsz egy fájlt (sFileName), majd a 6. lapjának a H4 celláját bemásolod az eredetileg megnyitott füzet Transactions nevű lapjának a C339 cellájába. Utána (felesleges zárás-új nyitás után) a megnyitott füzet 6. lapján másolod a
J5:K20
tartományt, amit az első füzet Transactions lapon az A342 cellába illeszted be.
Ennyi?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
veterán
válasz zsolti_20 #44998 üzenetére
Azt a füzetet, ahonnan másolni akarsz, Zsolti_Innen.xlsx-nek neveztem.
A Const utvonal = "F:\Eadat\Excel fórumok\PH\" sorban írd át a megadott értéket a saját útvonaladra, majd indíthatod a makrót. Ez a makró abban a füzetben legyen, ahova másolni akarsz.Sub Zsolti()
Dim ShInnen As Worksheet, ShIde As Worksheet
Const utvonal = "F:\Eadat\Excel fórumok\PH\"
Set ShIde = ActiveWorkbook.Sheets("Transactions")
Workbooks.Open utvonal & "Zsolti_innen.xlsx"
Set ShInnen = ActiveWorkbook.Sheets(6)
ShInnen.Range("H4").Copy
ShIde.Range("C339").PasteSpecial xlPasteValues
ShInnen.Range("J5:K20").Copy
ShIde.Range("A342").PasteSpecial xlPasteValues
Workbooks("Zsolti_innen.xlsx").Close False
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.
Új hozzászólás Aktív témák
Állásajánlatok
Cég: HC Pointer Kft.
Város: Pécs
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest