- Milyen TV-t vegyek?
- Milyen videókártyát?
- Házimozi belépő szinten
- Autós kamerák
- ASUS notebook topic
- LG C4 tévé, a népszerű OLED-sorozat legfrissebb tagja
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- HiFi műszaki szemmel - sztereó hangrendszerek
- iPad topik
- Rekordmagasba lökte az EPYC és a Ryzen az AMD-t
Hirdetés
-
A tüntetések ellenére is bővítheti német gyárát a Tesla
it Hiába a nagy tüntetések, a helyi önkormányzat rábólintott a Tesla német gyárbővítésére.
-
Elcsípte a Huawei kameratelefonja az első helyet
ma A Pura 70 Ultra a DxOMarknál tarolt.
-
Spyra: nagynyomású, akkus, 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! :)
-
PROHARDVER!
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
Ehhez nem kell felhasználói függvény.
Kijelölöd a tartományt, Adatok | Szövegből oszlopok menü. Tagolt, határoló jel a kötőjel. Ez szétbontja az adatokat az A:D tartományba. A D oszlopban lesz a két utolsó számjegy, alsó kötőjellel elválasztva.
Kijelölöd a D oszlop adatait, újra Szövegből oszlopok, itt a tagoló jel az alsó kötőjel.
Ennyi, csupán néhány kattintás.
Rögzítéssel makró hozzá – kicsit javítva:
Sub Rögzítés1()
Dim usor As Long
usor = Range("A" & Rows.Count).End(xlUp).Row
Range("A1:A" & usor).TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
:="-", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1)), _
TrailingMinusNumbers:=True
Range("D1:D" & usor).TextToColumns Destination:=Range("D1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
:="_", FieldInfo:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
End Sub[ 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 csongi #22448 üzenetére
Makró a 2. táblázat létrehozásához:
Sub cikksz()
Dim sor As Long, sor1 As Long, sor2 As Long, lel
Application.ScreenUpdating = False
sor = 1: sor2 = 1
Do While Cells(sor, "A") <> ""
If Application.CountIf(Columns(4), Cells(sor, "B")) > 0 Then
Set lel = Columns(4).Find(Cells(sor, "B"), LookIn:=xlValues)
sor1 = lel.Row
If Not IsError(sor1) Then
Cells(sor2, "I") = Cells(sor, "A")
Cells(sor2, "K") = Cells(sor, "B")
Cells(sor2, "M") = Cells(sor, "C")
Cells(sor2, "J") = Cells(sor1, "F")
Cells(sor2, "L") = Cells(sor1, "E")
sor2 = sor2 + 1
End If
End If
sor = sor + 1
Loop
Application.ScreenUpdating = True
End Sub[ 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 csongi #22448 üzenetére
Csúnya, olvashatatlan lett a makró külalakja a tabulátor helytelen használata miatt, elnézést. Inkább újra beírom.
Sub cikksz()
Dim sor As Long, sor1 As Long, sor2 As Long, lel
Application.ScreenUpdating = False
sor = 1: sor2 = 1
Do While Cells(sor, "A") <> ""
If Application.CountIf(Columns(4), Cells(sor, "B")) > 0 Then
Set lel = Columns(4).Find(Cells(sor, "B"), LookIn:=xlValues)
sor1 = lel.Row
Cells(sor2, "I") = Cells(sor, "A")
Cells(sor2, "K") = Cells(sor, "B")
Cells(sor2, "M") = Cells(sor, "C")
Cells(sor2, "J") = Cells(sor1, "F")
Cells(sor2, "L") = Cells(sor1, "E")
sor2 = sor2 + 1
End If
sor = sor + 1
Loop
Application.ScreenUpdating = True
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 csongi #22457 üzenetére
Nem kell semmit rágnod
Alt+F8-ra bejön egy ablak, amiben kiválasztod, és indítod a cikksz nevű makrót.
Persze ehhez be kell másolnod. Alt+F11-gyel bejutsz a VB szerkesztőbe. Bal oldalon kiválasztod a füzetedet.
Insert | Module. Jobb oldalon a kapott nagy fehér területre bemásolod a makrót. Vissza a füzetbe, mentés.
Ezt a műveletet 1× kell elvégezni.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Mauzes
őstag
Sziasztok!
Valaki meg tudja mondani, hol vagy miért van hiba ebben a képletben? A Google Drive értelmezi, de az Excel már nem (offline sem). A képletnek egy másik fülről (Transactions) kellene behúznia adatot. (C: után szóközt tettem, hogy ne szmájlizza)
=iferror(INDEX(arrayformula(filter(Transactions!J:J,Transactions!C: C<>"",row(Transactions!C: C)=max(if(Transactions!C: C=B5,row(Transactions!C: C),0)))) ;1),0)
[ Szerkesztve ]
-
mdk01
addikt
válasz Delila_1 #22454 üzenetére
Sikerült megérteni, köszönöm.
Igazából mint írtam az alsó kötjel helyett lehet az is normál kötjel, tehát elég csak egyszer megtagolni normál kötjellel ha az alsó kötjelet kicserélem.Köszönöm még egyszer így ez teljesen rendben van.
Már csak ezt a makro-t nem értem, mert én tök hülye vagyok ezekhez a personal-os, modulos, makro-s dolgokhoz.
Ezzel a makro-val mit tudok csinálni?
Nekem ezek a számsorozatok a G3 cellától indulnak lefele, ha ez számít vmit.
Köszi[ Szerkesztve ]
-
Delila_1
Topikgazda
Ne kezdj semmit a makróval, nincs rá szükség. Jelöld ki a tartományt, és lépj a szövegből oszlopok menübe.
A tartománytól jobbra kell annyi üres cellának lennie,ahol elférnek az egyes számok.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Mauzes
őstag
válasz slashing #22462 üzenetére
Most csak annyit csináltál, hogy az iferror meg row parancsokat magyarra írtad és vessző helyett pontosvesszőt tettél?
Nekem angol nyelvű excel-em van, és a képletet beírva (angol parancsokkal) azt írja, hogy "this function is not valid" és mikor nyomok erre egy OK-t, akkor kijelöli a "filter" parancsot...
-
alfa20
senior tag
Sziasztok,
Globális váltózóban tud nekem valaki segíteni?
Amit szeretnék:
indítok egy makrót ami ami futás közben egy másik modulban lévő makrót meghív ('vizsgal') lefuttatja majd visszatér az eredeti 'indit' makróhoz, viszont az indít makró az alap .xlsx fájlt eltárolja egy változóban ('alaptabla.xlsx') és a 'vizsgal' makrónak erre a váltózóval kellene dolgozni.röviden:
sub indit()
dim fajl1 as string
fajl1 = ActiveWorkbook.Name
vizsgal
end sub()
sub vizsgal()
msgbox fajl1
indit
end sub()"Az agy olyan, mint az ejtőernyő: csak akkor működik, ha nyitott." (Thomas Dewar)
-
Fferi50
őstag
válasz slashing #22401 üzenetére
Szia!
Most láttam a képletedet. Ha 2010-es exceled van, akkor majdnem fele ennyiből megúszhatod a HAHIBA függvény alkalmazásával:
=HAHIBA(BAL(FKERES(W3;Táblázat2;6;0);SZÖVEG.KERES(";";FKERES(W3;Táblázat2;6;0))-1);HAHIBA(BAL(FKERES(W3;Táblázat2;6;0);SZÖVEG.KERES("-";FKERES(W3;Táblázat2;6;0))-1);FKERES(W3;Táblázat2;6))) & " " & HAHIBA(BAL(FKERES(W3;Táblázat2;8;0);SZÖVEG.KERES(";";FKERES(W3;Táblázat2;8;0))-1);HAHIBA(BAL(FKERES(W3;Táblázat2;8;0);SZÖVEG.KERES("-";FKERES(W3;Táblázat2;8;0))-1);FKERES(W3;Táblázat2;8)))Üdv.
-
Fferi50
őstag
válasz alfa20 #22464 üzenetére
Szia!
Két verzió lehet
az egyik, hogy Global változónak declarálod a fajl1 változót a modul elején (Global fajl1 as string), de lehet Public fajl1 as string és akkor a másik modulban a modulnév.fajl1 módon hivatkozhatsz rá.
a másik, a vizsgal makrót így alkotod meg:
sub vizsgal (byval fajlnev as string)
msgbox fajlnev ' szándékosan nem fajl1, hogy lásd a különbséget
end sub
A meghívása pedig vizsgal fajl1Üdv.
-
alfa20
senior tag
lehet nem jól értem, de ezeket próbáltam és nem jók hibára fút
1.)Sub KP_rnd()
Global fajl1 As String
kódok
End Sub2.)
Sub KP_rnd(Global fajl1 As String)
kódok
End Sub[ Szerkesztve ]
"Az agy olyan, mint az ejtőernyő: csak akkor működik, ha nyitott." (Thomas Dewar)
-
Delila_1
Topikgazda
válasz alfa20 #22467 üzenetére
Így is átadhatod a változó értékét:
Sub indit()
Dim fajl1 As String
fajl1 = ActiveWorkbook.Name
vizsgal fajl1 'itt adod át a változót
End Sub
Sub vizsgal(fajl1) 'itt fogadod a változót
MsgBox fajl1
End SubA beírt példádban mindkét makrót End Sub() módon zártad le, hibásan. Ott már nem lehet zárójelpár.
A 2. makród végéről kivettem az indit makró meghívását, hiszen az egy végtelen ciklust hozott létre.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Fferi50
őstag
válasz alfa20 #22467 üzenetére
Szia!
A global változót a modul elején kell definiálni nem pedig az eljárásban!
Modul elején (declarations részben) Global fajl1 as string
Így a Sub -ban már nem kell újra deklarálni.A második sub-ban is teljesen félreértettél. Ha Global a definíció, akkor nem kell a zárójeles paraméter, a global hivatkozás pedig pláne nem.
(Nem nézted meg a példám....)Összekeverted a két verziót....
Tehát
vagy:
Global fajl1 as string
sub egyik()
fajl1=activeworkbook.name
end subsub masik()
msgbox fajl1
kódok
end subvagy:
sub egyik()
dim fajl1 as string
fajl1=activeworkbook.name
masik fajl1
end subsub masik(byval fajlnev as string)
msgbox fajlnev
kódok
end subÜdv.
[ Szerkesztve ]
-
alfa20
senior tag
köszönöm mind kettőtöknek!
"Az agy olyan, mint az ejtőernyő: csak akkor működik, ha nyitott." (Thomas Dewar)
-
TomTeke2
csendes tag
Sziasztok!
Egy kis segítséget kérnék, mert baromira elakadtam.
Van egy legördülő listám, amiben közel 200 cella közül lehet válogatni. Mivel sok adat ugyanúgy kezdődik (pl.: KK ASKC ASV) jó lenne, ha nem a listában kellene folyton keresgélni, hanem ha elkezdem beírni a szöveget akkor dobja fel a lehetséges egyezéseket.Jó kacifántosan írtam le a problémát, de remélem érthető és orvosolható is.
A válaszokat előre is köszi!
Üdv.: TomTeke
-
alfa20
senior tag
válasz TomTeke2 #22474 üzenetére
annyiban van, hogy az alábbinál:
ListFillRange: Munka2!$D$1:$D$100
a 'Munka2' helyére a te táblád adatokat tartalmazó fül nevét add meg.
a '$D$1:$D$100' helyére meg értelem szerűen azt az oszlopot amelyikben a listázandó adatok vannak."Az agy olyan, mint az ejtőernyő: csak akkor működik, ha nyitott." (Thomas Dewar)
-
TomTeke2
csendes tag
válasz alfa20 #22475 üzenetére
Szerintem így csináltam, de azért leírom a biztonság kedvéért :
LinkedCell: Az adott lap cellája ahova az adatot szeretném bevinni, jelen esetben $A$9 (ez egy összevont cella, nem tudom van-e jelentősége)
ListFillRange: Az a tartomány, ahonnan neki az egyezéseket kellene kidobni, jelen esetben Daten! $E$3:$E$246.
Ezután ez jelenik meg a szerkesztőlécen:
=BEÁGYAZ("Forms.ComboBox.1";"")
Ha nem kattintok bele és rákattintok az A9-re, hiába írok bármit ami a listában tuti szerepel, nem dob egyezést, ha meg belekattintok, akkor utána már nem tudok belőle kilépni, folyamatosan hibás képletet jelez.Bocs hogy itt értetlenkedem, de ActiveX vezérlőt még soha sem használtam.
-
Fferi50
őstag
válasz TomTeke2 #22477 üzenetére
Szia!
A Listfillrange tartományt egyenlőségjellel kell bevinni: =daten!$E$3:$E$246
Ezután elvileg ha beírsz egy helyes értéket az A9 cellába, akkor annak meg kellene jelennie a vezérlőben, illetve fordítva, ha kiválasztasz egy értéket a vezérlőben, akkor annak az A9 cellába "illik" kerülni.
Üdv.
-
TomTeke2
csendes tag
válasz Fferi50 #22478 üzenetére
itt lehet a bibi...mindent a leírtak szerint csinálok, de a vezérlő üres marad. Ha beviszek egy adatot az A9-be és ENTERezek, akkor az megjelenik a vezérlőben, de más adat nem.
Nekem pont az lenne a lényeg, hogy ha elkezdem beírni pl. azt hogy: "ASKC" Akkor dobja ki azokat az adatokat amik így kezdődnek. Lényegében karakterenként szűkítse a lehetséges találatokat, valahogy úgy mint ha egy oszlopot töltenék fel hasonló, vagy azonos adatokkal.
-
DrojDtroll
addikt
Hogyan lehet az megcsinálni a feltételes formázásnál hogy nem az az oszlop legyen formázva amelyiknek az értékét nézzük hanem pl. a tőle hárommal balra lévő???
pl.:
nev eretek ertek2
nev eretek ertek2
nev eretek ertek2
nev eretek ertek2
nev eretek ertek2
nev eretek ertek2
nev eretek ertek2az ertek2 szerint legyen formázva a nev
-
Fferi50
őstag
-
Fferi50
őstag
válasz DrojDtroll #22487 üzenetére
Szia!
Feltételes formázás kijelölése képlettel. A képletbe pedig beírod azt a cellát, amelyiknek az értékét szeretnéd figyelni:
pl. =c1>2,
A hatóköre pedig az a1 cella.De! figyelj az abszolut és relatív hivatkozásokra (dollár jel vagy anélkül nem mindegy).
Üdv.
-
slashing
senior tag
válasz Fferi50 #22488 üzenetére
Ahogy előttem is mondták nem mindegy hogy az oszlop vagy sor van abszolót hivatkozva
itt tök jól látszik hogy az 'A' oszlop összes sorát figyeli ha nagyobb vagy egyenlő 5-nél akkor a teljes C oszlopban bejelöli azt a cellát.
A feltételes formázás képletnél az egyenlőség jel az egy HA függvényel egyenértékű.Jah pont fordítva kellett volna de a lényeg látszik. A képletben az $A1-et átírod C-re az érvényességben meg a C-t átírod A-ra
[ Szerkesztve ]
-
csongi
veterán
Lehet mégis sikerült Egy kicsit gondolkozni kellett. Egy picit hisztis napjaim vannak
Köszönöm a segítséged! -
Delila_1
Topikgazda
válasz csongi #22493 üzenetére
Azért nem jön össze, mert elfelejtettem megírni, hogy a makró bevitele után makróbarátként (xlsm kiterjesztéssel) kell elmenteni a fájlt.
Tettem egy gombot a Munka2 lapra, ami indítja a makrót. Mikor változnak ezen a lapon az adataid, csak a gombra kell klikkelned.
Szerk.: közben megoldottad.
[ 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.
-
oszy
veterán
Srácok! Időpontokat akarok összeadni. Jelenléti ív féleséget akarok csinálni, de a végén össze kell adnom külön, ki mennyi időt töltött munkával. Köszönöm!
Szinte ÚJ Xiaomi légmosó E L A D Ó!
-
mdk01
addikt
A1 cellába beírod 7:00
B1 cellába beírod 16:30
C1 cellába beírod =B1-A1Ekkor a C1 celládba megfog jelleni az A1 és a B1 különbözete tehát a 9:30
Ezután mehetsz tovább a cellákba lefele A2-A3-A4 majd C1 cellában található =B1-A1 a függvényt lemásolod úgy hogy a cella jobb alsó sarkában található fekete pontot lenyomva meghúzod lefele.
Ez után már csak a C oszlop összes celláját kell szummáznod és megvan az egész havi munkaóra.
Új hozzászólás Aktív témák
- Bitdefender Total Security 3év/3eszköz! - "Tökéletes védelem most kedvező áron..."
- AKCIÓ! - STEAM kulcsok / Punch Club, Oddworld: Soulstorm, Children of Morta, stb. - 2024.05.16.
- Lemezes Retro PC Játékok
- Steames kulcsok jó áron eladóak!
- PC JÁTÉKOK (OLCSÓ STEAM, EA , UPLAY KULCSOK ÉS SOKMINDEN MÁS IS 100% GARANCIA )
Állásajánlatok
Cég: Alpha Laptopszerviz Kft.
Város: Pécs
Cég: Ozeki Kft.
Város: Debrecen