- iPhone topik
- Vodafone mobilszolgáltatások
- Telekom mobilszolgáltatások
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Eleglide C1 - a középérték
- Milyen okostelefont vegyek?
- Android szakmai topik
- DIGI Mobil
- Android alkalmazások - szoftver kibeszélő topik
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
Hirdetés
-
Spyra: akkus, nagynyomású, automata vízipuska
lo Type-C port, egy töltéssel 2200 lövés, több, mint 2 kg-os súly, automata víz felszívás... Start the epic! :)
-
Snapdragon 8-as szériával várhatók a Honor 200-ak?
ma A Honor 200 állítólag a 8s Gen 3-at, a 200 Pro változat pedig a 8 Gen 3-at használja majd.
-
A legtöbb amerikai szerint a TikTok egy őket befolyásoló eszköz
it Egy felmérés szerint a legtöbb amerikai osztja azon véleményt, hogy a TikTok egy őket befolyásoló eszköz.
-
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
-
istvankeresz
aktív tag
Üdv!
Egyik lapfülön szeretnék sorszámokkal tárolni sorokban adatokat cellánként elválasztva. Pl:
1 Alma Piros
2 Narancs Sárga
3 Kókusz BarnaMásik lapfülön pedig ha egy cellába beírom, hogy 2 akkor mellé irja ki, hogy Narancs Sárga, ugyan úgy cellánként elválasztva. Természetesen, ha más sorszámot írok a cellába, akkor az ahhoz tartozó gyümölcsöt és színt szeretném, ha mellé írná.
Előre is köszi a segítséget
XBOX ONE GT: istvankereszt79
-
istvankeresz
aktív tag
Szia!
Lehet, hogy nem jól írtam le, de így talán jobban érthető:
Ez az "adatbázisom" az egyes lapfülön:
Ezt szeretném a második lapfülön:
Ha B3-ba beírok egy 2-est akkor C3 és D3 automatikusan kitöltődik, azaz így néz ki:
Ha esetleg letudnád írni erre a példára a konkrét függvényt, akkor azon eltudnék indulni.
Előre is köszi!
XBOX ONE GT: istvankereszt79
-
istvankeresz
aktív tag
Üdv!
Egy cellában szeretnék egy keltezést, ami így néz ki:
Miskolc, 2022.07.05Sajnos az =“Miskolc, “ & MA() nem ezt adja vissza. Mi a megfelelő formátum?
Köszi
XBOX ONE GT: istvankereszt79
-
istvankeresz
aktív tag
Üdv!
A célom, hogy az aktuális hónap előtti hónapot írassam ki szövegesen.
Az =HÓNAP(MA())-1 képlettel meg kapom helyesen a 6 értéket.
Ezt kombinálom: =SZŐVEG(HÓNAP(MA())-1;”hhhh”) képlettel, hogy szöveggé alakítsam, de így az eredmény: január ami nem jó.
Hol rontom el?XBOX ONE GT: istvankereszt79
-
istvankeresz
aktív tag
Üdv!
Ezt hogyan lehetne megoldani?
Két oszlopban van tárolva kezdeti dátum és vége dátum. Ez egész évben egyre bővül ahogy halad az idő.
A feladat az lenne, hogy ha egy másik lapfülön A1-be 1 -t írok, akkor írja ki mellé a januári dátumokat, ha 2-t, akkor a februári dátumokat és így tovább.
Ezt szeretném.:
Több ilyen dátumtárolós táblázatból is össze lehet szedegetni a kívánt dátumokat?
Előre is köszi!
XBOX ONE GT: istvankereszt79
-
istvankeresz
aktív tag
válasz Delila_1 #49299 üzenetére
Jó ötlet, megpróbálom mennyire használható a szűrővel, de még gondolkodom a segédoszlopos megoldáson. Megpróbálom azt, hogy a segédoszlop celláiba a januári dátumokhoz 1-t, februári dátumokhoz 2-t párosítok és így tovább, így FKERES-el vagy XKERES-el talán áttudom rántani a nekem szükséges dátum adatokat szövegként a másik lapfülre.
Köszi az ötleteket!
XBOX ONE GT: istvankereszt79
-
istvankeresz
aktív tag
Üdv!
B oszlopban szeretném csökkenteni a számokat úgy, hogy annyival csökkenjen, amennyit A oszlop azonos számú cellájába írok, Múködik is, viszont, ha lejebb húzom a B oszlopon a kijelölőnégyzetet, hogy érvényes legyen az alatta lévő cellákra is, akkor az utolsó kivont összeget jelzi ki az összes olyan B oszlop cellája, amelyik elé nem írtam számot, amivel csökkenteni fogom. Lehet olyat, hogy csak akkor írjon ki a B oszlop értéket, ha elötte az A oszlopban érték a megfelelő cellában?
Tehát amíg A5, A6, A7...A20-ba nem írok értéket, addik B5,B6,B7...B20 üres cellának nézzen ki.
Köszi!
XBOX ONE GT: istvankereszt79
-
istvankeresz
aktív tag
Üdv!
Egy távollét adminisztrációs VBA projekten dolgozom. Az első dolog amin elakadtam: Combobox-ból lehet kiválasztani azt a személyt, akivel műveletet akarok elvégezni. A comboboxban szépen látszanak a személyek, akik kaptak egy-egy worksheet-t. Ide kerülnek tárolásra majd késöbb az adataik. A tervem az, hogy a combobox-al kiválasztott személy worksheet-re ugrik kiválasztáskor, de sajnos nem akarja az igazságot.
És itt a kód, ami bebálja a comboboxba a worksheet neveit:Private Sub UserForm_Initialize()
Dim x As Integer
For x = 1 To Sheets.Count
ComboBox1.AddItem Sheets(x).Name
Next
End SubElőre is köszi!
XBOX ONE GT: istvankereszt79
-
istvankeresz
aktív tag
válasz Delila_1 #49842 üzenetére
Most még jó így. Viszont megint elakadtam. A Combobox-ok és textbox-ok értékeit akarom gombnyomással (Távollét rögzítése) az aktív munkalapra sorba egymásután átvinni úgy, hogy minden gombnyomásnál új sort kezdjen. Sajnos csak egy értéket tudok átvinni.
Private Sub CommandButton1_Click()
Dim c As Range
For Each c In Range("A1:A999")
If c.Value = "" Then c.Value = TextBox1.Value: Exit Sub
Next
End SubHogyan lehet többet?
[ Szerkesztve ]
XBOX ONE GT: istvankereszt79
-
istvankeresz
aktív tag
Üdv!
Textbox-ba írt dátum validálásnál van mód arra, hogy ne yyyy/mm/dd formátumba kelljen beírni, aztán átalakítani yyyy.mm.dd formátumba, hanem a dátum beírásakor egyből megkövetelni a yyyy.mm.dd formátumot?
XBOX ONE GT: istvankereszt79
-
istvankeresz
aktív tag
válasz Fferi50 #49866 üzenetére
Köszi mindenkinek, de végül is átgondolva, nincs szükség rá, hogy dátumként kezeljem a textbox értékét. (egyelőre) Sima textbox-ba írt yyyy.mm.dd formátumos szöveg típust kell kimásolnom majd máshova beilleszteni gombnyomásra. Felesleges lépés (most) beíratni majd a felhasználóval / jelekkel, meg több combobox-al megoldani. Max rakok alá egy labelt, hogy ÉÉÉÉ.HH.NN a helyes formátum és ez elég lesz. Lehet, hogy a kimutátoskhoz majd jobb lesz, ha dátumként kezelem, mert úgy könnyebb lesz havi kimutatást csinálni, de most felesleges egyelőre. Azért köszi mindenkinek!
XBOX ONE GT: istvankereszt79
-
istvankeresz
aktív tag
Üdv! Ismét elakadtam a projektemben.
Adott egy excel fájl aminek a neve változhat, de általában nem változik. Az egyik worksheet egy Temlplate. (Nyilvantartolap_TEMPLATE)
VBA-ban csak ezt az egy worksheet-t szeretném átmásolni egy másik, újonann létrehozott excelbe. Gombnyomásra az új excel-t sikerül létrehoznom abban a mappában ahol szeretném, azon a néven, ahogy szeretném, de nem tudom belemásolni a Template worksheet-t. Tehát megnyitva marad az az excel is amin működik a VBA és mellé nyílik az új excel fájl is.
Sokmindennel próbálkoztam, de nem tudom mit nézek be, mindig hibára fut.
A kódom:
Mi kell a ??? helyére?
Köszi!
[ Szerkesztve ]
XBOX ONE GT: istvankereszt79
-
istvankeresz
aktív tag
válasz Fferi50 #49904 üzenetére
Kettóvel ezelötti hsz-emben, a ??? helyére bemásoltam amit írtál. Ott akadt meg, azt a sort sárgázta ki a debugger.
Szerk:
Kiegészítve amit írtál erre:
ThisWorkbook.Sheets("Nyilvantartolap_TEMPLATE").Copy
Most már legenerálja a fáljt amit akarok üresen, majd generál egy újat amibe beleteszi a template-t.
Jó uton vagyunk, Szerintem innen már összelegózom.
Köszi!
[ Szerkesztve ]
XBOX ONE GT: istvankereszt79
-
istvankeresz
aktív tag
Üdv!
Adott három oszlop. Azt szeretném, hogy az I oszlopban csökkenjen az érték a H oszlop értékével csak akkor, amikor a C oszlopban "SZ" szöveg található. Ez sikerült is, viszont abban a sorban ne írjon ki semmit, ahol nincs a C oszlopban érték. Ha más egyéb szöveg van, akkor pedig NE csökkentse az I oszlopot, csak írja oda az utolsó I oszlop értéket.
Ha a képletet módostom arra, hogy:
=HA(C31="SZ";I30-H31;"")
akkor egészen addig jó, míg újra nem lesz "SZ" a C oszlopban, mert akkor a semmiből akarja kivonni H oszlop adott értékét.
[ Szerkesztve ]
XBOX ONE GT: istvankereszt79
-
istvankeresz
aktív tag
Ez az eredeti képletem nekem is. Ezzel csinálja azt amit a képen látsz.
Ezt lehúzva kitölti azokat a cellákat is, ahol c oszlopban nincs semm.szerk:
Látom közben szerkesztetted a hsz-t.
Kipróbálom, de lehet h csak hétfőn tudom már.
Köszönöm[ Szerkesztve ]
XBOX ONE GT: istvankereszt79
-
istvankeresz
aktív tag
Üdv!
Egy (nekem) eléggé összetett lekérdezést szeretnék csinálni de nem boldogulok.
Cél: Gombnyomásra végig fut egy ciklus az aktuális workbook-ban worksheet-eken. Ezeken a worksheet-eken szintén végigfut egy ciklus ami végignéz egy oszlopban egy range-t, és ha talál egy feltétellnek megfelelő cellaértéket, akkor azt a cellaértéket átmásolja a template-ből létrejövő új workbook-ba.A ciklusban-ciklusban-feltétellel nem boldogulok, azaz az adatkiolvasással.
XBOX ONE GT: istvankereszt79
-
istvankeresz
aktív tag
válasz Fferi50 #49934 üzenetére
Szia!
Jó volt kiindulási alapnak a kódod, Köszönöm! Sikerült összeraknom úgy, ahogy nekem kell.
Következő kérdésem mindenkihez:
Feltételnek szeretném megadni egy cella értékét. Ha az a cella egy karakter sorozattal kezdődik, pl.: 1234.56 , de még vannak mögötte karakterek, akkor a tudok olyan univerzális jelet használni, mint máshol a csillag, azaz ha valami 1234.56-al kezdődik akkor vegye figyelembe, egyébként pedig nem. Magyarul VBA-ban is lehet * karaktert használni? Mert nekem így nem találja meg amit keresek.
XBOX ONE GT: istvankereszt79
-
istvankeresz
aktív tag
válasz Fferi50 #49944 üzenetére
Szia!
Ez tökéletes. Viszont a kiolvasott cellákat szeretném másolni egymás alá egy másik munkalapra.
Ezt hova kell berakni, hogy jó legyen? Ha egyáltalán helyes.
lr = Sheets(6).Range("E" & Rows.Count).End(xlUp).Row + 1
Ebbe szeretném beletenni, úgy, hogy minden ciklus után ugorjon egy sort.
Dim cell As Range
Dim ws As Worksheet
Dim lr As Long
For Each ws In ThisWorkbook.Worksheets
For Each cell In Sheets(ws.Name).Range("K2:K6")
If cell.Value Like "1234.56*" Then
Sheets(6).Range("E10") = cell.Value
' MsgBox (ws.Name & " " & cell.Value)
End If
' MsgBox (ws.Name & " " & cell.Value)
Next cell
Next ws
End Sub
MsgBox-ok, csak ellenörzésnek vannak, hogy lássam, hogy a megfelelő értékekkel dolgozom.
Köszi!
XBOX ONE GT: istvankereszt79
-
istvankeresz
aktív tag
válasz istvankeresz #49955 üzenetére
Müködik, viszont az lr egy nagyon nagy értéket kap, így a 1010185 sornál kezdi a beírást. Ez mért lehet? Honnan vesz egy ekkora értéket?
Így néz ki most:
Dim cell As Range
Dim ws As Worksheet
Dim lr As Long
lr = Sheets(6).Range("E" & Rows.Count).End(xlUp).Row + 1
For Each ws In ThisWorkbook.Worksheets
For Each cell In Sheets(ws.Name).Range("K2:K6")
If cell.Value Like "2022.01*" Then
Sheets(6).Range("E" & lr) = cell.Value: lr = lr + 1
MsgBox (ws.Name & " " & cell.Value & " " & lr)
End If
' MsgBox (ws.Name & " " & cell.Value)
Next cell
Next ws
[ Szerkesztve ]
XBOX ONE GT: istvankereszt79
-
istvankeresz
aktív tag
válasz istvankeresz #49956 üzenetére
Bocs a sok hozzászólásért. Egy restart megoldotta.
Szerk.:
Azaz mégsem. Második futtatásra az lr már 109-es sorral kezdte. Pedig a 4-es sorral kellett volna folytatnia az E oszlopban, mivel a Az E1-től E3-ig másolt be értéket.[ Szerkesztve ]
XBOX ONE GT: istvankereszt79
-
istvankeresz
aktív tag
Üdv!
Tesztelem az alábbi kódrészletet, de ha a feltétel a ciklusban másodszor is igaz, akkor az első igaz feltételhez kapcsolódó értéket másolja át és nem a második körben igaz feltételhez kapcsolódóét. Variálgattam, de nem jutottam előre, így a "rosszul" működőt másolom be ide. Esetleg ötlet valakinek?
lr = Sheets(ComboBox5.Value).Range("E" & Rows.Count).End(xlUp).Row + 1
For Each ws In ThisWorkbook.Worksheets
For Each cell In ThisWorkbook.Sheets(ws.Name).Range("K2:K200")
If cell.Value Like "2023.01*" Then
ActiveWorkbook.Sheets(ComboBox5.Value).Range("B" & lr) = ThisWorkbook.Sheets(ws.Name).Range("A2")
ActiveWorkbook.Sheets(ComboBox5.Value).Range("C" & lr) = ThisWorkbook.Sheets(ws.Name).Range("B2")
ActiveWorkbook.Sheets(ComboBox5.Value).Range("D" & lr) = ThisWorkbook.Sheets(ws.Name).Range("M2")
ActiveWorkbook.Sheets(ComboBox5.Value).Range("F" & lr) = ThisWorkbook.Sheets(ws.Name).Range("L2")
ActiveWorkbook.Sheets(ComboBox5.Value).Range("G" & lr) = ThisWorkbook.Sheets(ws.Name).Range("N2")
ActiveWorkbook.Sheets(ComboBox5.Value).Range("H" & lr) = ThisWorkbook.Sheets(ws.Name).Range("O2")
ActiveWorkbook.Sheets(ComboBox5.Value).Range("I" & lr) = ThisWorkbook.Sheets(ws.Name).Range("P2")
ActiveWorkbook.Sheets(ComboBox5.Value).Range("E" & lr) = cell.Value: lr = lr + 1
End If
Next cell
Next ws
XBOX ONE GT: istvankereszt79
-
istvankeresz
aktív tag
válasz andreas49 #50003 üzenetére
Üdv!
A megegyező nevű emberek textboxból berögzítésének problémájánál akadtam el.
Az működik, hogy berögzítek egy embert, aminek a neve lesz a worksheet neve, ilyenkor ugye ha még egy ugyanolyan nevű embert rögzittek, akkor az sikertelen.
Ha úgy oldom meg, hogy tegyen mellé egy valamilyen karaktert (Pl.: 2), akkor az is működik(egyszer). Harmadik ugyanilyen nevű embernél már ez is hibázik. Ez már nagyon kis eséllyel fordul elő, de hibás rögzítésnél könnyen előfordulhat.
Erre van kiforrott megoldás, vagy olyasmire gondoltam , hogy egy 2-től növekvő számot tegyen az ilyen esetekben a nevek mögé, és úgy hozzon létre egy új worksheet-t.
Másik problémám pedig ennek a problémának a figyelése. Próbáltam elágazásokkal, Case Select-el, de mindig valami félre ment. A koncepcióm az, hogy a rögzítő gomb megyomásakor egy ciklus végigfut a worksheeteken, ha nem talál egyező worksheetet, akkor létrehozza azzal nével, ami a textboxban van. Ha talál egyezőt, akkor megkérdi, hogy biztos rögzíted? Ez lenne a két megegyező nevű ember esete. Itt ha Igen.t nyom, akkor létrehozza a fent említett módon. Pl. Kovács Béla2. Viszont a ciklusokból nem sikerül jó helyen kilépnem. Mert a feltételek nem úgy teljesűlnek, ahogy én terveztem.
Most ezt faragom, de ez sem működik jól:
Dim answer As Integer
Dim wbSearch As Workbook, wsSearch As Worksheet
For Each wsSearch In ActiveWorkbook.Sheets
Select Case wsSearch.Name
Case Is <> TextBox11.Value
Case Is = TextBox11.Value
answer = MsgBox("Ilyen nevű munkatárs már rögzítve! Biztos, hogy folytatod a rögzítést?", vbQuestion + vbYesNo + vbDefaultButton2, "Munkatárs rögzítése")
If answer = vbYes Then
Sheets("Szemely_TEMPLATE").Copy After:=Sheets("Havi_TEMPLATE")
ActiveSheet.Name = TextBox11.Value & 2
Sheets(TextBox11.Value).Range("A2") = TextBox11.Value & " " & ComboBox7.Value
Sheets(TextBox11.Value).Range("B2") = TextBox12.Value
Sheets(TextBox11.Value).Range("C2") = TextBox13.Value
Sheets(TextBox11.Value).Range("D2") = TextBox14.Value
MsgBox "Munkatárs sikeresen rögzitve! Kérlek zárd be és nyisd meg újra a programot!"
TextBox11.Value = ""
ComboBox7.Value = ""
TextBox12.Value = ""
TextBox13.Value = ""
TextBox14.Value = ""
End If
If answer = vbNo Then
TextBox11.Value = ""
ComboBox7.Value = ""
TextBox12.Value = ""
TextBox13.Value = ""
TextBox14.Value = ""
End If
End Select
Next wsSearch
Szóval ezen az úton indultam el. Ötlet?
[ Szerkesztve ]
XBOX ONE GT: istvankereszt79
-
istvankeresz
aktív tag
válasz Fferi50 #50007 üzenetére
Szia!
Azért, mert a bezárás nélkül nem látszik az új berögzített személy, azaz a új worksheet egy másik comboboxban, ahol ezt az új worksheet-t ki lehet választani. Ezt még nem sikerült megoldanom. De rajta vagyok ezen is.
Esetleg valami GoTo megoldás nem lehet jó nekem? Talán ha az egyik feltétel teljesül, akkor ugorjon ide, ha a másik, akkor ugorjon oda.
[ Szerkesztve ]
XBOX ONE GT: istvankereszt79
-
istvankeresz
aktív tag
-
istvankeresz
aktív tag
Üdv újra!
Ha egy textboxban megtiltom, hogy számokat lehessen beírni, azzal a céllal, hogy elvileg nincs numerikus karakterekből álló nevű ember, akkor a . (pont) karaktert, hogy tudom mégis engedélyezni? Itt a Dr. Valaki esetet akarom megoldani.
Ebből indulok ki:
Private Sub TextBox11_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Len(TextBox11.Text) > 30 Then
MsgBox "Maximum 30 karakter!"
TextBox11.Text = ""
ElseIf IsNumeric(deg) = True Then
MsgBox "Csak betüt írj!"
TextBox11.Text = ""
End If
End Sub
[ Szerkesztve ]
XBOX ONE GT: istvankereszt79
-
istvankeresz
aktív tag
válasz istvankeresz #50022 üzenetére
User error bocsánat.
IsNumeric(deg) maradt benne az IsNumeric(Textbox11.value) helyett.
Khm, mégsem jó....
A Dr. 1 -et engedi beírni
[ Szerkesztve ]
XBOX ONE GT: istvankereszt79
-
istvankeresz
aktív tag
Üdv!
Egy cella range értékeit szertném megjeleníteni valahogy. Van VBA megoldás rá? Akár valamilyen panelen, akár MsgBox-ban. Gombnyomásra kellene működnie.
XBOX ONE GT: istvankereszt79
-
istvankeresz
aktív tag
Szia!
Lehet, hogy kicsit félrefogalmaztam. Ezt az egy cella értéket nekem is sikerült kinyerni, de én több cella értékeit szeretném egyszerre egy MsgBoxba, vagy bármibe, tehát egy
Range("A1:E2").Value
szerűen, lehetőleg megtartva a sorokat, oszlopokat.A cél az lenne, hogy ha a user megnyomja a gombot, akkor az azon az aktív worksheet-en a range-be írt cellák értékeit lássa, mert amúgy neki aworksheet el van rejtve. Ezért, ha nem biztos benne, hogy oda felvitt-e már adatot, akkor egy gombnyomással megnézi, hogy van-e ott érték, illetve, hogy milyen értékek vannak beírva.
Tehát a képen látható értékek vannak a cellákban például, de ezt nem látja a user. Nyom egy gombot, és egy panelen, vagy egy MsgBoxban visszakapja az (A1:E2) tartomány értékeit.TillaT:
Köszönöm! Egyelőre elég csak a cellatartomány értékeit visszakapnom.
[ Szerkesztve ]
XBOX ONE GT: istvankereszt79
Új hozzászólás Aktív témák
- Kihívás a középkategóriában: teszten a Radeon RX 7600 XT
- Milyen billentyűzetet vegyek?
- NVIDIA GeForce RTX 4080 /4080S / 4090 (AD103 / 102)
- Microsoft Excel topic
- Fujifilm X
- Renault, Dacia topik
- OLED TV topic
- Építő/felújító topik
- NVIDIA GeForce RTX 3080 / 3090 / Ti (GA102)
- Bambu Lab X1/X1C, P1P-P1S és A1 mini tulajok
- További aktív témák...
- AKCIÓ! - STEAM kulcsok /Anuchard, Aragami, Children of Morta, stb. - 2024.04.17.
- Adobe Creative Cloud - 2024. 04. 05 - 2025. 04. 05-ig
- Canva Pro előfizetés - 1 éves
- World of Warcraft Shadowlands Collectors edition EU EN
- Game Pass Ultimate előfizetések 1 - 25 hónapig azonnali kézbesítéssel a LEGOLCSÓBBAN!