- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- Honor 200 Pro - mobilportré
- Jelentősen drágulhatnak a Samsung hajlíthatók
- Samsung Galaxy Watch6 Classic - tekerd!
- Honor Magic6 Pro - kör közepén számok
- Apple iPhone 13 Pro Max - őnagysága
- Apple Watch
- Android alkalmazások - szoftver kibeszélő topik
- iPhone topik
- Volt olyan piac, ahol mindezidáig egyetlen IP69 minősítésű telefon sem volt
Hirdetés
-
Computex 2024: Szabadon konfigurálható vezérlőpanel a Cooler Mastertől
ph A MasterHUB egy jópofa ötlet a streamerek, multimédiás szakemberek által használt egyedi vezérlők kiváltására.
-
MediaTek lapkával érkezhet a következő Samsung csúcstablet
ma Merőben szokatlan lenne, ha a Samsung nem Qualcomm vagy Exynos szettet használna a prémium termékvonalon, de a Geekbench szerint mégis ez lehet a helyzet a Tab S10+ esetében.
-
Az AI megmondja, hogy van-e fájdalma a macskának
it Egyre népszerűbb Japánban a CatsMe!, ami egy AI-alapú mobilos app – és megmondja, ha fájdalma van a macskának.
-
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
-
.OM.
aktív tag
válasz m.zmrzlina #23429 üzenetére
Szia,
Csúcs, de az 1. sort nem viszi.. Tehát a 2. sor színe megy az 1. sorba az új fülön.
Mindegy, mert a címsort nem kell színezni, a végén majd azt beszúrom...+1 #pirospont m.zmrzlina részére
[ Szerkesztve ]
ex .Oldman.
-
.OM.
aktív tag
-
lappy
őstag
válasz m.zmrzlina #23442 üzenetére
Minden naphoz más-más terem illetve időpont tartozhat.
A táblázatban nincs egyesített cella csak a képen nem jól látszik.Bámulatos hol tart már a tudomány!
-
Mittu88
senior tag
válasz m.zmrzlina #23433 üzenetére
Köszönöm szépen, Fferi-nek is
Viszont felmerült egy másik probléma:
Van egy ilyen kódom:
Public sor As Integer
...
Private Sub Worksheet_Change(ByVal Target As Range)
sor = Target.Row
...
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim nev As String
...
nev = Cells(sor, 1).Value
...És erre azt a hibaüzenetet dobja, hogy Application-defined or object-defined error.
A sor változó értéke 0, tehát nyilván nem tudja a nev változónak egy nem létező cella értékét adni. De mitől 0 a sor értéke?
Próbáltam a sor = ActiveCell.Row parancsot is, de ugyanez van. -
-PLevi-
senior tag
válasz m.zmrzlina #23480 üzenetére
Köszönöm szépen, ki lesz próbálva!
-
bteebi
veterán
válasz m.zmrzlina #23486 üzenetére
Akkor nem véletlenül nem találtam . Köszönöm, ki fogom próbálni.
[ Szerkesztve ]
Cancel all my meetings. Someone is wrong on the Internet.
-
Delila_1
Topikgazda
válasz m.zmrzlina #23488 üzenetére
Jobban látszik a haladás sorrendje, ha a Cells(i, j).Select sor helyett
MsgBox Cells(i, j).Address szerepel a makrókban.[ 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 #23490 üzenetére
Ezért alkalmazok szívesebben a tartalmukra utaló nevű változókat, mint pl. sor, és oszlop.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
bteebi
veterán
válasz m.zmrzlina #23488 üzenetére
Köszönöm mindkettőtöknek!
#23491: Van benne valami .[ Szerkesztve ]
Cancel all my meetings. Someone is wrong on the Internet.
-
Delila_1
Topikgazda
válasz m.zmrzlina #23501 üzenetére
wsTemp.Range("A1").CurrentRegion.Copy Destination:=wsOsszesito.cells(1, elsoures_oszlop)
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 #23504 üzenetére
Set wsTemp = workbooks("wbTemp.xlsx").Worksheets("Munka2")
Nem célszerű az éppen aktív lapra hivatkozni változó értékének a megadásánál.
Set wsOsszesito = sheets("Osszesito")
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 #23508 üzenetére
Szivi.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Timyyy
őstag
válasz m.zmrzlina #23527 üzenetére
Tejóég, nekem ez kínai...
-
Polllen
nagyúr
válasz m.zmrzlina #23542 üzenetére
Ha mindig az előző eljárásnál felvett érték kell az újban, akkor public változókat kell használnod. Így adott module-n belül minden sub "látja".
[ Szerkesztve ]
"Odamentem egy párhoz...négyen voltak!"
-
Fferi50
őstag
válasz m.zmrzlina #23542 üzenetére
Szia!
Paraméteresen is definiálhatod az egyes makrókat és akkor minden meghíváskor meg tudod mondani neki, hogy melyik változó melyik értékét használja.
pl. sub valami (byval valt1 as string,byref valt2 as integer)
eljárás
end subA byval és byref jelentőségét olvasd el a súgóban, illetve az előző hsz.-ban foglaltak miatt is a változók élettartama (variables scope) részt is.
Egy másik lehetőség:
Az egyes változó értékét "eltárolod" egy munkalap cellájába. Ide írják ki az egyes makrók az értékét és innen olvashatják ki mások az értéket. Ebben az esetben nem kell public változót használnod, sem paraméters meghívást, helyette minden eljárásból kilépéskor utolsó műveletek a változók értékeinek beírása az adott cellákba, az eljárások indulásakor pedig a változókba beolvasod a cellák értékét.Ebben az esetben a cellákban mindig a legutoljára eltárolt érték lesz benne és az olvasható ki, így megoldódik a legutóbbi kérdésedben levő probléma is.
Üdv.
[ Szerkesztve ]
-
Fferi50
őstag
válasz m.zmrzlina #23546 üzenetére
Szia!
Így van, elég így csinálni, de ennyi viszont kell.
Üdv.
-
Mittu88
senior tag
válasz m.zmrzlina #23546 üzenetére
Az esetleg nem lenne elegánsabb, ha csinálnál a module-ban egy eljárást, ami csak értéket ad a public változóknak, az eljárást pedig a Workbook_Open eseménynél meghívod?
Ergo fájl megnyitásakor kapna mindegyik public változó értéket és utána már használhatnád. -
Mittu88
senior tag
válasz m.zmrzlina #23552 üzenetére
Modul-on belül deklarálod Sub-on kívül, aztán csinálsz egy Sub-ot, amiben értéket adsz mindegyiknek.
workbook_open-be meg beírod a sub nevét.pl.:
Module-ban:Public pelda as integer
Public peldaketto as stringSub Ertekadas()
pelda = 12345
peldaketto = "egykettoharomnegyot"End Sub
ThisWorkBook-ban meg:
Private Sub Workbook_Open()Ertekadas
End Sub
Bocsi, ha nem elég érthető, szaknyelvben nem vagyok jó (még)
-
sedyke
tag
válasz m.zmrzlina #23550 üzenetére
Azt nem tudom elérni, hogy képlettel a mindig x sorral lejjebb található cellát kapjam eredményül. Manuális persze megtalálom, de több száz is van egy munkalapon belül.
-
Polllen
nagyúr
válasz m.zmrzlina #23554 üzenetére
És változni is fognak, hiszen bizonyos sub-n belül dolgozol velük.
Ha mindig ugyanaz a kiinduló érték, nincs jelentősége annak, hogy egy sub-bal vagy munkafüzetben adod meg a kiinduló értéket.
Ha viszont az utolsó folyamat értéke kell, akkor is ha aktuálisan az a folyamat nem futott, tehát nem adott értéket, el kell tárolnod az előzőt és azt beolvasni.
[ Szerkesztve ]
"Odamentem egy párhoz...négyen voltak!"
-
Mittu88
senior tag
válasz m.zmrzlina #23554 üzenetére
Az fog is változni, de nem az a problémád, hogy volt, amelyiknek nem volt kezdőértéke még?
-
Fferi50
őstag
válasz m.zmrzlina #23575 üzenetére
Szia!
Azért van ez, mert a sima range és cells mindig az AKTÍV munkalapra hivatkozik, ha nincs előtte a pontos megjelölés.
Tehát a második: wsKabelo.Range(wsKbelo.Cells(2, intDigitlista_oszlop), wsKabelo.Cells(intListahossz, intDigitlista_oszlop))formában működik megfelelően. (Én is bele szoktam néha esni ebbe a hibába....)
Az első viszont a betűkkel direktben a wsKabelo -ra hivatkozik.
Üdv.
-
Hyper84
csendes tag
-
Hyper84
csendes tag
válasz m.zmrzlina #23593 üzenetére
Nagyon köszi ez így már majdnem jó is lenne, csak úgy nem lehet ezt megoldani, hogy ahogy az én táblám látod abból a makró futtatásával törölje a felesleges oszlopokat?
Mert azt hogy külön meg kell adnom a törlendő oszlopok értékeit, az nekem nagyon sok időt venne igénybe ugyanis ez az S01, S02...ez egészen S99-ig tart és ilyen excelből van vagy 30 db.
Üdv, Csabi
-
Hyper84
csendes tag
válasz m.zmrzlina #23593 üzenetére
Vagy meg is lehetne fordítani a dolgot, az nem lenne programozás oldalról egyszerűbb, ha azt mondanánk, hogy mindent töröljön kivéve azokat az oszlopokat amik nekem kellenek, jelen esetben A01, A02...stb.
Még ez így jobb is lenne nekem ugyanis a tábla elején vannak még felesleges oszlopok, csak gondoltam azt kézzel kitörlöm.
Üdv, Csabi
-
m.zmrzlina
senior tag
válasz m.zmrzlina #23597 üzenetére
Ehhez a módszerhez mindenképp kell egy tartomány amiben a "halálra ítélt" azonosítók vannak.
Meg lehet fordítva is csinálni de akkor a maradó azonosítók listája kell és a Countif() nulla értékénél kell törölni.
Ugyanaz csak pepitában.
[ Szerkesztve ]
-
Hyper84
csendes tag
válasz m.zmrzlina #23598 üzenetére
Ezt a fordítva dolgot leírnád még nekem légy szíves és igérem befejeztem?
Üdv, Csabi
-
Hyper84
csendes tag
-
Delila_1
Topikgazda
válasz m.zmrzlina #23600 üzenetére
Egyszerűbben is meg lehet oldani az oszlopok törlését.
Sub OszlopTorles()
Dim oszlop As Integer
For oszlop = ActiveSheet.UsedRange.Columns.Count To 1 Step -1
If Cells(1, oszlop) >= "S01" And Cells(1, oszlop) <= "S099" Then
Columns(oszlop).Delete Shift:=xlToLeft
End If
Next
End SubSorok, oszlopok törlésénél mindig az utolsó helytől indulunk az első felé.
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 #23619 üzenetére
Ez teljesen korrekt, ám a kérdezőnek a képlet másolásával is gondja van.
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
válasz m.zmrzlina #23633 üzenetére
Az "A" munkafüzet két eseményében lévő makró. Természetesen lehet cizellálni őket (főleg az _Open-t) de az elv az ez.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.DisplayAlerts = False
Dim wb As Workbook
mappa = ThisWorkbook.Path & "\"
For Each wb In Workbooks
If wb.Name <> ThisWorkbook.Name Then
wb.SaveAs Filename:=mappa & wb.Name
wb.Close
End If
Next wb
Application.DisplayAlerts = True
End Sub
Private Sub Workbook_Open()
Workbooks.Open ThisWorkbook.Path & "\B.xlsx"
Workbooks.Open ThisWorkbook.Path & "\C.xlsx"
End Sub -
opzozi
tag
-
opzozi
tag
válasz m.zmrzlina #23675 üzenetére
És ha több kritériumot is szeretnék megadni? Pl. mondjuk 2-től nagyobb, de 5- től kisebb.
Vagy ha van egy másik oszlop mellette. Beszúrok mellé egy másik oszlopot.
A1:A5 ugyanaz
B15 [igen;igen;nem;igen;nem]
És akkor a C-ben számolnék, hogy azokat számolja meg, amelyik megfelel az adott kritériumnak és mondjuk a mellette lévő oszlopban "igen" szerepel.Xiaomi Poco X3 Pro
-
opzozi
tag
válasz m.zmrzlina #23680 üzenetére
Köszönöm Neked is. Néha egyszerűbb, mint amit beleképzel az ember, hogy ez elég bonyolult.
Xiaomi Poco X3 Pro
-
samfishR
senior tag
válasz m.zmrzlina #23633 üzenetére
Köszi a tippet!
Sajnos a makrókhoz semmi közöm, ebben tudna valaki segíteni?
-
m.zmrzlina
senior tag
válasz m.zmrzlina #23765 üzenetére
Persze ha az L oszlop képleteit felülírod az értékükkel akkor a segédoszlopokat simán lehet törölni.
Kérdés az, hogy milyen könnyen tudod előállítani a (nálam) O oszlopban lévő listát.
-
A214
aktív tag
válasz m.zmrzlina #23768 üzenetére
egyszerűbb megadni azt, hogy mi ne kapjon sorszámot
-
mdk01
addikt
válasz m.zmrzlina #23774 üzenetére
Igen, köszönöm pont ezt próbáltam meg most, és működik valamelyiknél, vaamelyiknél pedig nem.
Nem teljesen értem, szerintem valami zavar van a képletben és megkeveredik.És ha nem akarom hogy az üres szót kiírja, hanem ne írjon ki semmit akkor mit kell írni?
Most csak simán így hagytam, de ez is zavaros neki.=HA(A1="";"";A1)
Köszönöm
[ Szerkesztve ]
-
mdk01
addikt
válasz m.zmrzlina #23776 üzenetére
Ott ahol nem működik a képlet nézd meg, hogy nincs-e a hivatkozott cellában szóköz vagy egyéb nem kinyomtatható karakter.
Aha, erre nem gondoltam.
Hivatkozás van benne, de a hivatkozott cella is üres így nem ír ki semmit.
Akkor gondolom ilyen esetben a hivatkozott cellára kellene nekem is hivatkozni.Köszönöm
-
mdk01
addikt
-
littleNorbi
aktív tag
válasz m.zmrzlina #23830 üzenetére
Van ahol van "/" is meg "-" is meg szóköz is... Tehát valami olyasmi kellene, hogy ameddig szám, addig hagyja meg, a többit meg dobja át a másik oszlopba...
-
littleNorbi
aktív tag
válasz m.zmrzlina #23852 üzenetére
Esetleg ha van valamiféle más módszer, mert nekem az a lényeg, hogy páros és páratlan házszámok szerint rendezzem. Tulajdonképpen ez egy lista akiknek levelet szeretnénk küldeni, és akkor fontos lenne, hogy az utca páratlan (pl: 1, 3, 5, 5A, 7), illetve a páros (2, 4, 4A, 6, 6A, 6B) házszámai legyenek egymás után.
-
Zola007
veterán
válasz m.zmrzlina #23856 üzenetére
nem jó, mert a szövegnek szerves része és nem mindegyik cellában van jelen, hanem összevissza
azt nem értem miért nem jeleníti meg, hiszen a "szöveg" formázásnak az lenne a lényege, hogy úgy látszik, ahogy beírtamMʏ ᴘʜɪʟᴏsᴏᴘʜʏ ɪs: Iᴛ’s ɴᴏɴᴇ ᴏғ ᴍʏ ʙᴜsɪɴᴇss ᴡʜᴀᴛ ᴘᴇᴏᴘʟᴇ sᴀʏ ᴏғ ᴍᴇ ᴀɴᴅ ᴛʜɪɴᴋ ᴏғ ᴍᴇ. I ᴀᴍ ᴡʜᴀᴛ I ᴀᴍ ᴀɴᴅ I ᴅᴏ ᴡʜᴀᴛ I ᴅᴏ. I ᴇxᴘᴇᴄᴛ ɴᴏᴛʜɪɴɢ ᴀɴᴅ ᴀᴄᴄᴇᴘᴛ ᴇᴠᴇʀʏᴛʜɪɴɢ. Aɴᴅ ɪᴛ ᴍᴀᴋᴇs ʟɪғᴇ sᴏ ᴍᴜᴄʜ ᴇᴀsɪᴇʀ. - Sɪʀ Aɴᴛʜᴏɴʏ Hᴏᴘᴋɪɴs
-
Zola007
veterán
válasz m.zmrzlina #23858 üzenetére
igen, csak a kezdő aposztrófok nem jelennek meg
Mʏ ᴘʜɪʟᴏsᴏᴘʜʏ ɪs: Iᴛ’s ɴᴏɴᴇ ᴏғ ᴍʏ ʙᴜsɪɴᴇss ᴡʜᴀᴛ ᴘᴇᴏᴘʟᴇ sᴀʏ ᴏғ ᴍᴇ ᴀɴᴅ ᴛʜɪɴᴋ ᴏғ ᴍᴇ. I ᴀᴍ ᴡʜᴀᴛ I ᴀᴍ ᴀɴᴅ I ᴅᴏ ᴡʜᴀᴛ I ᴅᴏ. I ᴇxᴘᴇᴄᴛ ɴᴏᴛʜɪɴɢ ᴀɴᴅ ᴀᴄᴄᴇᴘᴛ ᴇᴠᴇʀʏᴛʜɪɴɢ. Aɴᴅ ɪᴛ ᴍᴀᴋᴇs ʟɪғᴇ sᴏ ᴍᴜᴄʜ ᴇᴀsɪᴇʀ. - Sɪʀ Aɴᴛʜᴏɴʏ Hᴏᴘᴋɪɴs
-
littleNorbi
aktív tag
válasz m.zmrzlina #23854 üzenetére
Tessék egy része, de a lényeg benne van.
-
Zola007
veterán
válasz m.zmrzlina #23860 üzenetére
mert oda is beteszi az aposztrófot, ahova nem kéne
(#23861) Delila_1 : megnézem[ Szerkesztve ]
Mʏ ᴘʜɪʟᴏsᴏᴘʜʏ ɪs: Iᴛ’s ɴᴏɴᴇ ᴏғ ᴍʏ ʙᴜsɪɴᴇss ᴡʜᴀᴛ ᴘᴇᴏᴘʟᴇ sᴀʏ ᴏғ ᴍᴇ ᴀɴᴅ ᴛʜɪɴᴋ ᴏғ ᴍᴇ. I ᴀᴍ ᴡʜᴀᴛ I ᴀᴍ ᴀɴᴅ I ᴅᴏ ᴡʜᴀᴛ I ᴅᴏ. I ᴇxᴘᴇᴄᴛ ɴᴏᴛʜɪɴɢ ᴀɴᴅ ᴀᴄᴄᴇᴘᴛ ᴇᴠᴇʀʏᴛʜɪɴɢ. Aɴᴅ ɪᴛ ᴍᴀᴋᴇs ʟɪғᴇ sᴏ ᴍᴜᴄʜ ᴇᴀsɪᴇʀ. - Sɪʀ Aɴᴛʜᴏɴʏ Hᴏᴘᴋɪɴs
-
Delila_1
Topikgazda
válasz m.zmrzlina #23867 üzenetére
Már eleve nem tudom értelmezni pl. a 17.sorban lévő 13/II-I-3 féle házszámokat, de gyanítom, hogy ott nem lesz jó a 133-as eredmény.
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 #23869 üzenetére
Valamelyik hsz-ben az volt, hogy az 56/12 teljes egészében kell. Legalábbis úgy rémlik.
Láttad, hogy pl. az 1/A igazán "1/A " ?
Egy halom szóközzel a végé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
válasz m.zmrzlina #23871 üzenetére
Közben megszületett a páros számok kigyűjtése (egyik oszlopba), a páratlanokhoz ebben a makróban át kell írni az IsEven-eket IsOdd-ra.
Function ParosCsakSzam(cella As Range)
Dim betu As Integer, szam As Integer, szoveg As String
szoveg = Trim(cella)
If IsNumeric(szoveg) Then
If WorksheetFunction.IsEven(szoveg) Then
ParosCsakSzam = szoveg
Exit Function
Else
ParosCsakSzam = ""
Exit Function
End If
Else
For betu = 1 To Len(szoveg)
If IsNumeric(Mid(szoveg, betu, 1)) Then
szam = szam & Mid(szoveg, betu, 1)
ElseIf Mid(szoveg, betu, 1) = "/" And IsNumeric(Mid(szoveg, betu + 1, 1)) Then
If WorksheetFunction.IsEven(Left(szoveg, InStr(szoveg, "/") - 1) * 1) Then
ParosCsakSzam = szoveg
Exit Function
End If
ElseIf WorksheetFunction.IsEven(szam) Then
ParosCsakSzam = szam
Exit Function
Else
ParosCsakSzam = ""
Exit Function
End If
Next
End If
End FunctionProgramozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Dr. Romano
veterán
válasz m.zmrzlina #23882 üzenetére
Szia!
Megpróbáltam, de béna lehetek mert nem sikerült
Megpróbálnád légyszi ezen a teszten és tudnád linkelni a képletet? Lényeg hogy csak azokat az értékeket jelölje meg ami mindkét oszlopban szerepel. Előre is köszönöm!
[ Szerkesztve ]
Ez....e...ee...ez egy.... ez egy FOTEL???
Új hozzászólás Aktív témák
- Nők, nőügyek (18+)
- PlayStation 5
- Autós topik
- Hardcore café
- Vodafone otthoni szolgáltatások (TV, internet, telefon)
- Sorozatok
- Amlogic S905, S912 processzoros készülékek
- Rengeteg áram kell az adatközpontoknak, erre válasz a geotermikus energia
- Asztalos klub
- Luck Dragon: Asszociációs játék. :)
- További aktív témák...
- 10 Darab PC Játék (Bontatlanul!) Egyben 6990Ft.-ért Foxal!!!
- Game Pass Ultimate előfizetések 1 - 25 hónapig azonnali kézbesítéssel a LEGOLCSÓBBAN!
- Windows 10/11 Home/Pro , Office OEM/Retail kulcsok
- Windows, Office licencek a legolcsóbban, egyenesen a Microsoft-tól - 2990 Ft-tól!
- Autómatricák a legjobb minőségben, több ezer minta! PH tagoknak 30% kedvezmény!