- Fórumok
- OS, alkalmazások
- Microsoft Excel topic
- (kiemelt téma)
- Megújult mobilos felület, fórumos ráncfelvarrás a PROHARDVER! lapcsaládon
- Eladhatatlannak ítélt CPU-k eladásával javult az Intel node-ok kihozatala
- Az AI átformálja a Peugeot modelljeit is
- Ráműthető a Linux PlayStation 5-re, de csak egy boot erejéig
- Mindenféle környezeti behatásnak ellenállnak az ASUS új TUF tápjai
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Dell notebook topic
- Azonnali VGA-s kérdések órája
- Melyik hordozható audiolejátszót (DAP, MP3, stb.) vegyem?
- Mini-ITX
- Milyen billentyűzetet vegyek?
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Milyen egeret válasszak?
- A jövőben nem csak a gazdagok kiváltsága lehet az Intel CPU-k tuningja
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
-
25000 - 24901
54978 - 54001 54000 - 52001 52000 - 50001 50000 - 48001 48000 - 46001 46000 - 44001 44000 - 42001 42000 - 40001 40000 - 38001 38000 - 36001 36000 - 34001 34000 - 32001 32000 - 30001 30000 - 28001 28000 - 26001 26000 - 25901 25900 - 25801 25800 - 25701 25700 - 25601 25600 - 25501 25500 - 25401 25400 - 25301 25300 - 25201 25200 - 25101 25100 - 25001 25000 - 24901 24900 - 24801 24800 - 24701 24700 - 24601 24600 - 24501 24500 - 24401 24400 - 24301 24300 - 24201 24200 - 24101 24100 - 24001 24000 - 23901 23900 - 23801 23800 - 23701 23700 - 23601 23600 - 23501 23500 - 23401 23400 - 23301 23300 - 23201 23200 - 23101 23100 - 23001 23000 - 22901 22900 - 22801 22800 - 22701 22700 - 22601 22600 - 22501 22500 - 22401 22400 - 22301 22300 - 22201 22200 - 22101 22100 - 22001 22000 - 20001 20000 - 18001 18000 - 16001 16000 - 14001 14000 - 12001 12000 - 10001 10000 - 8001 8000 - 6001 6000 - 4001 4000 - 2001 2000 - 1
-
Fórumok
PROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
-
Frissítve: 2023-11-13 08:31 Téma összefoglaló
Új hozzászólás Aktív témák
-
Mindless
tag
-
Fferi50
Topikgazda
Szia!
Az előző sor formuláit így írhatod át értékre:
.offset(-1,0).entirerow.value=.offset(-1,0).entirerow.value
Ha egy meghatározott tartomány értékét szeretnéd felülírni, akkor pedig
range(.offset(-1,-4),.offset(-1,5).value=range(.offset(-1,-4),.offset(-1,5).value
Az előző sor 10 celláját írja felül az értékével.
Megjegyzem, hogy ez a módszer csak összefüggő tartományon működik.Üdv.
-
Mindless
tag
Sziasztok!
Egy VBA problémával állok szemben amit nem tudok megoldani.
Jelenleg a következő kód aktív az excelben, ami ha a G oszlopban ha új adatot viszek fel a C oszlopba beírja az aktuális dátumot:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
With Target
If .Count > 1 Then Exit Sub
If Not Intersect(Range("G1:G5000"), .Cells) Is Nothing Then
Application.EnableEvents = False
If IsEmpty(.Value) Then
.Offset(0, -4).ClearContents
Else
With .Offset(0, -4)
.NumberFormat = "yyyy.mm.dd"
.Value = Now
End With
End If
Application.EnableEvents = True
End If
End With
End SubEzt kellene kiegészítenem egy olyan kóddal ami ha a G oszlopban beírok egy új adatot akkor az előző sor formuláit felülírja az értékeikkel.
A segítségeteket előre is köszönöm!
-
JamesHolden
aktív tag
Sziasztok,
Létezik Office-ban (legyen az Word vagy Excel) olyan beállítás, hogy a tálca vagy bezár gombbal nem a tálcára teszi le az adott dokumentumot hanem az óra melletti területre? És onnan is lehessen 1 kattintással megnyitni?
Köszi
-
KaiotEch
nagyúr
Sziasztok. Segítséget szeretnék kérni. Hogyan tudok összeegyeztetni cellákat ily módon?
munkalap1: dátum1 érték1 || munkalap2: dátum2 érték2
Tehát, hogy a dátum1 és a hozzá tartozó érték1 szerepel-e ugyan ezekkel az értékekkel a munkalap2-n?

U.I.: Kihagytam, hogy vmilyen kereséssel kéne, mert nem biztos(sőt biztos, hogy nem), hogy tartalmazza ugyan azokat a tételeket, és úgy van leszűrve.
-
Fferi50
Topikgazda
Szia!
Ezt a képletet próbáld meg légy szíves:
Pl. C1 cellába: =darabteli(B:B;"*"& A1 & "*")
Ez minden olyan cellát összeszámol a B oszlopban, ahol az A1 cellában levő szöveg bármely helyen előfordul.
Hátránya persze, hogy Anna esetében a Panna neveket is bele fogja számolni, így azok darabszámát ki kell vonni (ha van ilyen résznév az egészben eset).Üdv.
-
Delila_1
veterán
-
Delila_1
veterán
-
MrCsiT
addikt
-
MrCsiT
addikt
-
Delila_1
veterán
-
MrCsiT
addikt
-
Delila_1
veterán
-
MrCsiT
addikt
Sziasztok!
Sima, mezei excel 2k10, amiben segítséget kérek szépen, elvileg alap, gyakorlatilag nem tudom, hogyan keressem meg, tehát:
Vannak az A oszlopban nevek, pl, Béla,Pista,Zoltán a B oszlopban máshonnan származó nevek, így formázva, aposztrófosan: 'Béla','Katalin','Pista','Zoltán'
Azt szeretném megtudni, hogy az A oszlopban szereplő nevek, pl a Pista, szerepelnek-e a B oszlopban ?
Valójában, a 2 oszlopban lévő nevek közötti eltérés kellene, mert a B oszlop 30 sorral hosszabb, de nem tudom, melyik 30 név tér el.Mi erre a megoldás?

-
Delila_1
veterán
-
Fire/SOUL/CD
félisten
-
bandus
veterán
sziasztok!
annak mi a fene lehet az oka, ha megadom egy fájl elérési útvonalát egy string változóban, majd egy egyszerű
Workbooks.Open (stringvaltozo)
parancsot használok, és folyamatosan 1004-es hibát dob ki. ha a debug gombra kattintok majd pedig ismét futtatom a kódot ettől a sortól, akkor pedig szépen lefut az egész makró. teljesen tanácstalan vagyok. bármi ötlet? köszi!
-
Fferi50
Topikgazda
Szia!
Nagyjából úgy kell kezelned, mint az application.enableevents kapcsolót. Hiszen azt is ki-be kapcsolgatod.
A userformban definiálsz az első sorok előtt pl. egy changetextbox_name boolean változót.
A textbox_name_change eseményben pedig először azt nézed meg, hogy ez true. Ha igen, mehet tovább, ha nem, akkor kilép.
Amikor olyan utasítást adsz ki, amelyik megváltoztatja a textbox értékét, akkor eldöntöd, hogy fusson-e le a chage esemény és az utasítás előtt megváltoztatod a changetextbox_name értékét ennek megfelelően.
De ugyanez igaz akkor is, ha magában az eseménykezelésben változtatod a textbox értékét, mert az képes rekurzívan meghívni magát... Tehát a változtatás előtt change... false. Ezáltal nem fog tovább menni.
Az eljárás végén pedig chage...true és akkor a következő változtatásnál belemegy az eljárásba.Remélem érthető.
Üdv.
-
KaliJoe
tag
Szia Fferi50,
Office 2010.
A bajom a Change vezérlés ki-be kapcsolásával, az az, hogy odáig értem, h legyen egy változó, ami "vezérli", hogy működhet-e a Change rész... (bár ez sem teljesen világos előttem), hogy hogyan?... de a problémám az elméletben ott van, hogyha egyszer kikapcsoltam, mi fogja visszakapcsolni, engedélyezni, h a Change rész lefusson, lefuthasson?
-
Fferi50
Topikgazda
Szia!
Milyen excel verziód van?
Igen, sajnos a KeyAscii nem azonos a KeyCode - értékével - ezt valahol írtam is az előbb.Ez alapján viszont:
"
KeyPress EventOccurs when the user presses an ANSI key.
Syntax
Private Sub object_KeyPress( ByVal KeyANSI As MSForms.ReturnInteger)
The KeyPress event syntax has these parts:
Part Description
object Required. A valid object.
KeyANSI Required. An integer value that represents a standard numeric ANSI key code.Remarks
The KeyPress event occurs when the user presses a key that produces a typeable character (an ANSI key) on a running form while the form or a control on it has the focus. The event can occur either before or after the key is released. This event also occurs if you send an ANSI keystroke to a form or control using either the SendKeys action in a macro or the SendKeys Statement in Visual Basic.
A KeyPress event can occur when any of the following keys are pressed:
Any printable keyboard character.
CTRL combined with a character from the standard alphabet.
CTRL combined with any special character.
BACKSPACE.
ESC.A KeyPress event does not occur under the following conditions:
Pressing TAB.
Pressing ENTER.
Pressing an arrow key.
When a keystroke causes the focus to move from one control to another.Note
BACKSPACE is part of the ANSI character set, but DELETE is not. Deleting a character in a control using BACKSPACE causes a KeyPress event; deleting a character using DELETE doesn't.When a user holds down a key that produces an ANSI keycode, the KeyDown and KeyPress events alternate repeatedly. When the user releases the key, the KeyUp event occurs. The form or control with the focus receives all keystrokes. A form can have the focus only if it has no controls, or if all its visible controls are disabled.
The default action for the KeyPress event is to process the event code that corresponds to the key that was pressed. KeyANSI indicates the ANSI character that corresponds to the pressed key or key combination. The KeyPress event interprets the uppercase and lowercase of each character as separate key codes and, therefore, as two separate characters.
To respond to the physical state of the keyboard, or to handle keystrokes not recognized by the KeyPress event, such as function keys, navigation keys, and any combinations of these with keyboard modifiers (ALT, SHIFT, or CTRL), use the KeyDown and KeyUp event procedures.
"
Lehetséges, hogy mégis a KeyPress eseményhez kell menekülnöd, ezt tudja a backspace-t érzékelni.
A Backspace ansi kódja is 8.Próbáld ezt az eseményt úgy, ahogyan az előbb a másikra írtam.
Üdv.
Ps:A change esemény kezelésbe most nem mennék bele, mert nincs annyi időm jelenleg. De ígérem, ha egy kicsit szabadulok - visszatérek még rá.
-
KaliJoe
tag
Szia Fferri50,
Néztem. Át is írtam a kódomat a KeyDown-ra... aztán a tesztelésnél jött ki, h nem jelzi a Backspace-t. Mivel ott voltak a konstansok, azt hittem sínen vagyok...
Igaz nekem nem
"Private Sub object_KeyDown( ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As fmShiftState)" -dal hívta meg az eseményt, hanem
"Private Sub object_KeyDown( ByVal KeyAscii As MSForms.ReturnInteger)" vagy
"Private Sub object_KeyDown( ByVal KeyANSI As MSForms.ReturnInteger)" formában. Ez lehetett baj?Azért, ha tudod, a Change esemény figyelés megoldását leírnád érthetőbben? Kérlek... :-)
-
Fferi50
Topikgazda
Szia!
A userformon nem hatásos az application.enableevent=false.
Ott csak trükkösen lehet megkerülni az eseménylefutást. Egy form szintű változót kinevezel eseményvezérlőnek, ha ez true, akkor fusson le az esemény, ha false akkor ne fusson le. Minde eseménykezelésnél ennek a változónak a vizsgálatával kezded a projektet.DE: Javaslom még mindig, hogy Textbox_KeyDown eseményt nézd meg, itt a keycode megmondja, hogy melyik billentyűt nyomták le.
A backspace keycodja a vbKeyBack vba konstans,ami numerikusan 8.A billentyűk Keycode megfeleltetését a help Keycode Constants cimszava alatt találod.
Private Sub object_KeyDown( ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As fmShiftState)
if KeyCode=vbKeyBack then
ide írod amit szeretnél csinálni ha BackSpace-t nyomtak.
endif
KeyCode=0
end subAz utolsó sor, a KeyCode=0 a lényeg, ezzel eliminálod a billentyű leütést! Minden olyan esetben kell, ha nem akarod, hogy a leütött billentyű hatása érvényesüljön!
(Pl. te beírod a textboxba a leütött betűt, vagy lecsökkented a hosszát, akkor már nem szabad, hogy a rendszer is megcsinálja ugyanazt!)
Ha meg kell, hogy csinálja a rendszer, akkor ezt a sort elhagyod.Hidd el, ez a legegyszerűbb megoldás a billentyűzet figyelésre. A change az macerás. Rengeteg hasznos info van a Help-ben. (A szokásostól eltérően.)
Üdv.
-
KaliJoe
tag
Szia Fferi50, és Szia Mindenki,
Végül visszatértem a Change eseményre, mert a karakter most sem volt kiolvasható rendesen... noha még konstansok is vannak...
A problémát megoldottam - nagyjából - még egy változó segítségével, amely azt figyeli, h éppen rövidül-e (backspace, delete) vagy növekszik a TextBox.Value sztring hossza.
Viszont keletkezett egy új gondom... Change esemény akkor is bekövetkezik, ha éppen inicializálom a szövegdobozt és / vagy valamit - a felhasználó beavatkozásán kívül - magam írok hozzá a karakterlánchoz (pl. telefonszámban a tagolást, (, ), jeleket és szóközt) ... így gyakorta többször is meghívja önmagát a Change, nem várt eredményeket hozva.Próbáltam kikapcsolni az eseményfigyelést a
Application.EnableEvents = False és
... esemény programkódja ...
Application.EnableEvents = True
utasításpárossal, de mintha rá se hederítene... Mit kell még átállítani, hogy ne következzen be esemény, vagy hogy lehet megkerülni? -
Krisztensen
csendes tag
Ez egy betegség kutatásának statisztikai igazolása. Lényegében volt 40-en betegem (férfiak és nők) akiknek különbözők adatait jegyzeteltem. Most az lenne a feladatom, hogy a saját eredményeimet ún. irodalmi eredményekkel összehasonlítsam (erre a 2 mintás t-próbát használnám) és megadjam, hogy az én kutatásom reprezentatív-e (mmint hogy mutat hasonlóságot az irodalmi adatokkal. ) Ez nekem egy kicsit magas labda

pl.: A normalítás milyen értéktől lehet szignifikánsnak tekinteni? -
slashing
senior tag
Szerintem kifelejtettél valami fontos információt, mert ez alapján csak ilyen választ kaphatsz hogy az átlaggal....
milyen adataid vannak és azok hogyan vannak csoportosítva? van ömlesztve külön férfi női életkorok vagy gyakoriság szerint vel van sorolva hogy 18 évesből van 10db 34-ből meg 7??
-
Krisztensen
csendes tag
Sziasztok, elég nagy gondban vagyok. Egy betegségről írok és elakadtam pár dologban.
Hogyan számolom ki a férfiak ill. nők átlag életkorát külön-külön? -
tgumis
tag
-
Fferi50
Topikgazda
-
KaliJoe
tag
Szia Fferi50,
Megpróbáltam azért... már majdnem nagyon örültem, h ez mégiscsak megoldás lesz, mert valóban ez megmondta a billentyűnyomást... egy Integer formában vissza is adta...
... kivéve éppen a keresett Backspace-t
, meg társait, mert ezekket megnyomva a TextBox végrehajtja a műveletet, de a TextBox_Neve_KeyPress (ByVal KeyANSI As MSForms.ReturnInteger) nem hívódik meg...Namármost, ha tudtok olyan beállítást, amely ezekben az esetekben is meghívja a eseményvezérelt rutint, akkor helyben vagyok!
-
KaliJoe
tag
Szia Fferi50,
Sajnos, ez sem az amit kerestem... Mert nekem egy TextBox_Neve_Change eseményen belül kellene megmondanom, h mi volt a karakter...
Az a módszer sem jó, h leválasztom az utolsó karakterét, mert pl. egy Backspace rögtön el is vesz egy karaktert a TextBox_Neve.Value tartalmából...
Szóval, azt kellene megmondanom, h pl. a Backspace-e az utolsó billentűnyomás, kb. még az előtt, h kivonná a TextBox_Neve.Value értékéből az utolsó karaktert. -
KaliJoe
tag
Szia slashing,
Sajnos, ez nem jó... ennek pont az ellentéte kell. Amit ott leírtak, az arra jó, ha én (vagy a felhasználó) akar elküldeni egy billentyűnyomást, vagy billentyűkombinációt az éppen futó Makró számára.
Nekem az kell, hogy a felhasználó éppen mit nyomott meg utoljára... Ebben nagyon sokat segít a Like (mert ki lehet vele szűrni rengeteg nem kellő bevitelt... de nem tudom, hogy kezeli-e a speciális / vezérlőkaraktereket. Ha erre tudsz valami linket...

-
Fferi50
Topikgazda
-
slashing
senior tag
-
KaliJoe
tag
Sziasztok,
Tud valaki megoldást arra, hogy egy űrlap textboxának kitöltése közben meg tudjuk határozni, h éppen mi volt az utolsó felhasználói billentyűnyomás?
A Like operandussal sokat ki tudok szűrni, de nekem vezérlőkaraktereket kellene megfigyelnem, úgy mint Backspace, Delete, kurzormozgató nyilak... Ötlet? Módszer?
-
biker
nagyúr
Nos, az eredetivel az volt a gond, sok cikk nem létezik angolul, csak olaszul
Erre átküldik excelben pdf helyett, annyival jobb, hogy külön sorban van az angol, tehát itt is lehet képletezni, ha az angol sor előtt van egy olasz, akkor angol, ha nincs, akkor olasz
Szuperek ezek az exportok. De ezt már legalább könnyű megoldani -
pirit28
csendes tag
-
Delila_1
veterán
-
tgumis
tag
-
Pá
addikt
-
Zso68
csendes tag
Sziasztok!
Egy cellában lévő érték (sok érték és sok cella), illetve a cella háttérszíne egy másik celábba kerülő értéktől függően változik meg feltételes formázásba írt függvény segítségével. Működik is rendesen, de csak akkor "látszik" a színezés eredménye, ha le, majd felgörgetem a képernyőképet. Magyarán nem frissül a monitor képe.
A következő a kérdésem: hogy tudnám elérni, hogy görgetés nélkül is azonnal láthatóvá váljon a színek változása, ahogy kilépek a "parancsot tartalmazó" cellából? (Ha jól emlékszem, korábbi verzióban működött. Most Office2010)
Remélem, érthető voltam! (Én minden esetre értettem.
)Köszi!
-
slashing
senior tag
-
kymco
veterán
-
Digestive
veterán
Sziasztok!
Barátnőm elakadt a munkában. Hátha tudtok segíteni!
Egy árlista táblázatban cikkszámok nullával kezdődnek. Ezt be tudjuk írni szövegként. CSV formátumban kell elmenteni, mert a Next (váll.irányítási rendszer) ezt tudja betölteni. Miután elmenti, kilép, majd megint megnyitja eltűnnek a nullák!
Mi lehet a baj? Köszi! 
-
KaliJoe
tag
-
alfa20
senior tag
-
KaliJoe
tag
Sziasztok,
Van arra valakinek valami ötlete, hogy hogyan lehetne egy képlet - tehát nem makró! - részeként leellenőrizni, h egy bizonyos nevű munkalap létezik-e a Munkafüzetben?
-
KaliJoe
tag
Szia kymco,
Ha a verbális erőszakot nem akarod, akkor próbálkozhatsz a fizikaival is. Lehet gyorsabb megoldás!
Képletben:
...
For Each str_Dolgozó as wsh_DolgozókNeve
If "verbális erőszak"<>"Eredmény" then
Do
Üt=Üt+1
Loop "verbális erőszak"<> "Eredmény"
End if
Next str_Dolgozó
...

-
alfa20
senior tag
-
Fferi50
Topikgazda
-
tgumis
tag
Sziasztok
Makrórögzítővel rögzítettem egy makrót. Semmi bonyolút csak annyi hogy törölje a
D1
D3
6
D12
17
D20 cellák tartlmát.
Erre az történik, hogy az aktív cella értéke az első ami töröl és onnan továbbhaladva.
Pl ha az A1 en állok akkor A3:A6 A12:A17 A20
Ez miért van? -
kymco
veterán
-
biker
nagyúr
-
Fferi50
Topikgazda
Szia!
Ezt nevezik szívásnak....
Ha hálózaton dolgoztok, akkor megoldás lehet, hogy felteszed egy központi helyre a fájlt, ott megadod az excelnek a szükséges beállításokat. Ezek után pedig csak az itteni excelt elindítva lehessen használni.Mivel nem indulhat el a makró, így nem tudod kikényszeríteni sem a bezárást, sem a makró indulást.
Még egy olyan ötletem van, hogy egy adott cellába beírsz egy képletet, ami egy másik cella állapotát figyeli és attól függően feltételes formázással figyelmezteted a felhasználót, hogy ez így nem lesz jó.Pld.
A1 cella képlete =ha(A2<>1;"Nincsenek bekapcsolva a makrók, hibás adatokat fogsz elmenteni, kérlek, lépj ki mentés nélkül!";"Minden OK")
A1 cella feltételes formázása képlettel, =$A$2=0, kitöltés vörös
A2 cellába pedig a Workbook_Open eseményben legelső dolgod, hogy beleírod az 1-et, a Workbook_BeforeClose eseményben pedig átírod 0 értékre.Persze ez nyilván nem garantálja, hogy bárki is ennek megfelelően cselekszik. Arra egyelőre nincs tippem, hogyan nézhető meg, hogy valaki "makróhasználat nélkül" írta felül a fájlt.
Üdv.
-
Fferi50
Topikgazda
Szia!
Bocs a hosszú hallgatás miatt! Remélem, még aktuális. Próbáld meg ezt:
Sub okesit()
Do
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = CurDir()
If .Show Then
okesito .SelectedItems(1), True
Else
If MsgBox("Nem választottál, befejezed?", vbYesNo, "Könyvtár választás") = vbYes Then Exit Sub
End If
End With
Loop
End Sub
Sub okesito(ByVal konyvtar As String, ByVal alkonyvtaris As Boolean)
Dim fs, fldr, subfldr, fld, fajl As String
Set fs = CreateObject("Scripting.FilesystemObject")
Set fldr = fs.GetFolder(konyvtar)
fajl = Dir(fldr & "\*.xls*")
Do While fajl <> ""
Workbooks.OpenText Filename:=fldr & "\" & fajl
ActiveWorkbook.SaveAs Filename:=Replace(ActiveWorkbook.FullName, ".xls", "ok.xls")
'MsgBox fajl
fajl = Dir()
Loop
If alkonyvtaris Then
Set subfldr = fldr.subfolders
For Each fld In subfldr
fajl = Dir(fld & "\*.xls*")
Do While fajl <> ""
Workbooks.OpenText Filename:=fld & "\" & fajl
ActiveWorkbook.SaveAs Filename:=Replace(ActiveWorkbook.FullName, ".xls", "ok.xls")
'MsgBox fajl
fajl = Dir()
Loop
Next
End If
End SubAz okesit makrót kell elindítani, ott ki tudod választani azt a könyvtárat, amelyben (és alkönyvtáraiban) végre szeretnéd hajtani a műveletet.
Ha a kiválasztott könyvtárban elvégzi a műveletet, akkor visszatér a választó ablak.
A makróból úgy léphetsz ki, hogy a mégse gombot választod, vagy esc-t nyomsz és a kérdésre igent válaszolsz.
Az előrehaladásra nem tettem bele információ kijelzést, a státuszsoron esetleg kiírathatod pl. a kikommentelt msgbox helyére, Application.StatusBar = fajl
akkor a végére pedig Application.StatusBar=FalseÜdv.
-
kymco
veterán
Sziasztok!
Egy bizonyos excel táblázatban muszáj használnom vba-t. De bizonyos felhasználók a saját gépükön (nem tudom a gépen futó excel beállításait módosítani) vagy figyelmetlenségből vagy szándékosan nem engedélyezik a makrók futtatását a megnyitáskor. Így nem fut le a kód, hibás adatok kerülnek be egyes cellákba.
Hogyan tudnám kikényszeríteni az engedélyezést? (Persze most itt nem verbális erőszakra gondolok
)
Segítségeteket előre is köszönöm! -
Delila_1
veterán
-
Delila_1
veterán
-
alfa20
senior tag
-
diegho
nagyúr
Sziasztok!
2010-es Excel-ben kellene egy kis help. Szeretnék egy táblázatot csinálni, amiben az egyik oszlopban dátumok lesznek és szeretném, ha a rendszer dátumához viszonyítva jelezne az excel, ha az ott lévő dátum három napon belülre került. Gyakorlatilag adott x feladat, amit y időpontra kell megcsinálni, erről szólna a táblázat, szeretném, ha az y-3. napon jelezne az excel, hogy figyeljek oda, csak 3 nap van vissza. Megoldható ez?
-
Delila_1
veterán
-
Delila_1
veterán
Nagyon klassz! Most már csak azt nem értem, ha az ikonját kitetted a gyorselérési eszköztárra, miért nem magát a kalkulátort tetted ki?

Ujjgyakorlat a makrózáshoz?
Akkor egy kis formázási módosítás:
A Display label SpecialEffect tulajdonságánál a 2-es jobban mutat.
A Label2 lehet nagyobb, de a Visible tulajdonsága legyen False
A Label1 BackStyle legyen 0, átlátszó, hogy a Display labelt ne takarja.Persze ízlések és pofonok...
-
Delila_1
veterán
Egyenként kell megadnod a feltételes formázást a különféle nagyságrendekhez, de ezt elég 1× bevinned a tartományra.
100-as nagyságrendnél nagyobbhoz a feltétel =A2>999, a forma ##0 " ezer" (a 0 után 1 db szóköz)
100 000-esnél nagyobbhoz =A2>999999, a forma ### ##0 " millió" (a 0 után 2 db szóköz)Figyeld meg, hogy a számfora utolsó tagja, a 0 után annyi szóköz van, ahányszor 1-1 hármas egység szerepel az eredeti értékben. Az idézőjelen belülre is tettem egy kezdő szóközt, az csak annyit csinál, hogy
123ezer helyett 123 ezer lesz a kiírás képe, nem írja rá a számra a nagyságrendet. -
alfa20
senior tag
-
Delila_1
veterán
A =KÖZÉP(A1;SZÖVEG.KERES(" ";A1)+1;80) nem makró, hanem egy képlet. Egy üres oszlopba írd be az első (dupla) szavad sorába, majd másold le addig, amíg adataid vannak.
Vagy egyszerre beírhatod a képletet a D oszlopba, D2-től addig, ameddig adatok vannak az A oszlopban.
Ez a makró modulban legyen. A Munka1 helyett írd a saját lapod nevét.Sub angol()
Dim usor As Long
usor = Application.WorksheetFunction.CountA(Sheets("Munka1").Range("A:A"))
Range("D2:D" & usor) = "=MID(A2,SEARCH("" "",A2)+1,256)"
End Sub -
biker
nagyúr
-
Delila_1
veterán
A laphoz kell rendelned a makrót. Feltételeztem, hogy az első oszlopban vannak a szavak. Ha nem, akkor az
If Target.Column = 1 And Not IsEmpty(Target) Then
sorban az 1-et írd át a formázandó oszlop sorszámára.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim kezd As Integer
If Target.Column = 1 And Not IsEmpty(Target) Then
kezd = InStr(Target, " ") + 1
Range(Target.Address).Characters(Start:=kezd, Length:=Len(Target)).Font.FontStyle = "Italic"
End If
End SubEz a makró az újonnan bevitt magyar-angol szöveg második részét alakítja dőlt betűssé.
Az angol szavakat a =KÖZÉP(A1;SZÖVEG.KERES(" ";A1)+1;80) képlettel kapod meg egy üres oszlopban. -
marcyman
aktív tag
No ma próbáltam amit írtál, de bevallom a 3. pontnál tovább nem jutottam.
Konkrétan azt sem vágom hova kéne írnom a többit.
Illetve azt sem tudom, hogy milyen tutorialt kéne néznem hozzá, hogy nagyjából megértsem mit is csinálok.
Nagyon megköszönném, ha linkelnél valami gyorstalpalót. -
biker
nagyúr
Igen izgalmas kérdésem van

adott egy tábla. van benne 10.000 sor
a szöveges cella egyben tartalmazza az olasz és az angol terméknevet
Az olasz szöveg álló, az angol dőlt betűs.
Nekem csak az angol kellhogyan lehet kinyerni, csak a dőlt betűs angol szövegrészt?
-
Pá
addikt
Ezen felbátorodva kérdezek mégegyet.

Amolyan dinamikusan változó számformátumot szeretnék.
Tehát pl A1 cellában '455' van.
Ha ezt megszorzom 1000-rel, jó lenne, ha 455000 helyett ezt írná: 455ezer. Ha megint megszorzom 1000-rel, akkor pedig ezt: 455millió. Ha megint, akkor 455milliárd. stbstb Nyilván a cella értéke ennek megfelelő lenne, szóval normálisan szeretnék vele tovább számolni, csak grafikusan tenném könnyebben olvashatóbbá a munkalapot.Tudom, hogy létezik az X szorozva 10 az Y-on formátum, de az nekem nem annyira szimpatikus.
A nagyságrendekre pedig készítenék egy táblázatot, onnan puskázhatna az excel, hogy hova mit kell írnia, ha megoldható.Szóval lenne egy ilyen táblázatom mankónak, hogy
ezer 1000
millió 1000000
milliárd 1000000000
billiárd 1000000000000stb
-
Delila_1
veterán
-
Pá
addikt
-
Delila_1
veterán
-
alfa20
senior tag
-
Delila_1
veterán
Egyszerűen kitöltheted az üres helyeket.
Kijelölöd a B6:D14 területet. Ctrl+g-re bejön az ugrás menü, ahol az irányítottat, majd az üres cellákat választod. Marad a kijelölés, az aktuális cellába beírsz egy egyenlőség jelet, majd FEL nyilat nyomsz, Ctrl+Enter.Ezután már csak a képletet kell beírni a B3-ba: =FKERES(B2;$A$6:$D$14;OSZLOP();1), és ezt jobbra másolni.
-
Pá
addikt
Sziasztok!
Egy táblázatból szeretnék értékeket kinyerni, vlookup szerűen, csak kicsit szofisztikáltab módon.
Inkább mutatok egy példát, talán úgy egyszerűbb elmagyarázni.

A fenti táblázatban a kék az input cella, a sárgába várom az eredményt. Most helyesen van kitöltve, szóval ezekre az eredményekre számítanék.
Ha B2 cellába írok egy értéket, akkor azt összevetné az A6;A14 számsorral és aminél még nagyobb, vagy egyenlő, azt a számot venné ki a B oszlopból.
Szóval most B2-ben 265-van, így a 200-hoz tartozó 4-et veszi fel értékként.
C2-ben 225 van, így ott is a 200-hoz tartozó 8-at veszi fel értékként.
D2-ben 299-van, így ott viszont még a 250-hez tartozó 16-ot kéne felvegye.Kicsit bonyolítja a helyzetet, hogy néhány cella üres. Tehát pl az első példát nézzük, akkor az A oszlop hivatalosan 0-t kéne felvegyen, hiszen 265 nagyobb, mint 250 és a 250-nél nem szerepel semmi.
Itt maximum azt tudnám csinálni, hogy az üres helyekre a táblázatban kézzel beírom a megelőző értéket. De jó lenne egy elegáns megoldás erre is, hogy ezt a excel le tudja kezelni. -
Delila_1
veterán
Feltettem egy félkész fájlt. Hiányzik a 4-9 gombok makrója, és meg kell oldani, hogy több műveletet is végre lehessen hajtani egymás után.
Nézd meg az F1 cella képletét a névadásban.
Jó szórakozást!
-
marcyman
aktív tag
-
Mutt
senior tag
Szia!
Adott egy táblázat ahova az ADOTT napi adatoknak át kellene frissülniük egy másik táblázatból, ahol minden nap új sorba írom az adatokat.
Makróval támogatva megy.
Lépések:
1. A minden nap bővülő táblázatba kell egy függvény egy fix helyen amely megadja az utolsó sort.
pl. legyen a B1 cella
2. Az utolsó sor számát meg lehet tudni DARAB vagy DARAB2, esetleg a HOL.VAN függvénnyel.
pl. legyen a B1 képlete =DARAB2(A:A)
3. Ezt a cellát linkeldbe a másik fájlba.
4. A másik fájl egyik eseményére (ez lehet a fájl megnyitása, vagy az egyik lap módosítása) be lehet tenni az alábbi egy sort (a példában A1-ben van a linkelt mező és alá A2-be írjuk az utolsó sor hivatkozását):
Range("A2").Formula = "=[másik fájl neve,xlsx]Munka1!$A" & Range("A1")
5. Csak ezt a fájl kell makróbarát füzetként menteni, a másikat nem kell.A 4-es lépésben említett sor helyett, itt egy kicsituniverzálisabb megoldás. Ez 3-as lépésben linkelt mezőből kiveszi a másik fájl elérését, így azzal már nem kell foglalkoznod,
Private Sub Worksheet_Activate()
Dim link As Variant
Const oszlop As String = "A" 'A-oszlopban vannak a napi adatok a másikban
link = Split(Range("A1").Formula, "!")
Range("A2").Formula = link(0) & "!" & oszlop & Range("A1").Value
End Subüdv
-
alfa20
senior tag
-
Delila_1
veterán
-
Delila_1
veterán
-
alfa20
senior tag
-
Delila_1
veterán
Label-ben nem tudsz értékeket megadni, erre a Textbox való. Mivel a textboxok szöveges értéket adnak (a nevükben is ez szerepel), meg kell szoroznod azokat 1-gyel, hogy számolni lehessen velük.
A képen a lévő ComboBox RowSource tulajdonságába ezt írtam: Munka1!A1:A2, mert ebbe a két cellába írtam a + és - jelet, előttük aposztróffal.

-
alfa20
senior tag
Sziasztok,
Abban tudnátok segíteni, hogy UseForm1-ben Label1 és Label2-ben szerepel egy-egy szám, valamint Label3-ban vagy "+" vagy "-". Label4-ben kellene az értéket mutatnia
valahogy így:Label4 = sum(Label1 & Label3 & Label2)
-
Wyll
őstag
-
#02644736
törölt tag
Tudna valaki abban segíteni, hogy ha egy cella értékét másolom át egy másik munkalapra, nem marad meg ugyanúgy, pl. ha a cellában ez van C_121_14 (a második egyesnek alsó indexben kellene lennie, de nem tudom úgy itt beírni), hogy azt úgy másolja át egy másik cellában, hogy az az egyes alsó indexben maradjon, mert másolás után úgy néz ki, mint ahogy itt leírtam (nem lesz alsó indexben)
-
Fferi50
Topikgazda
-
air
nagyúr
-
Fferi50
Topikgazda
Szia!
Az alábbi kis makrórészletet légy szíves betenni a dim sor után:
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = CurDir()
If .Show Then
ChDir (.SelectedItems(1))
Else
MsgBox "Nem választottál, kilépek a programból!", vbCritical :Exit Sub
End If
End WithÍgy amikor elindítod a programot, kiválaszthatod, hogy melyik könyvtár adatait rakja össze (ez talán jobb is, mintha kívülről navigálnál, mert ez biztosan oda visz, ahova szeretnéd).
Ha nem válaszottál könyvtárat, akkor nem megy tovább.Üdv.
-
Delila_1
veterán
-
KaliJoe
tag
-
marcyman
aktív tag
Sziasztok!
Kérdésem, hogy a következőt meg lehet-e oldani valahogy:
Adott egy táblázat ahova az ADOTT napi adatoknak át kellene frissülniük egy másik táblázatból, ahol minden nap új sorba írom az adatokat.
Tehát van egy napi jelentés, ahova átfrissülne egy másik táblázatból az adott napi adatok, automatán. Valahogy léptetné az adott sort (napot) mindig tovább.
-
air
nagyúr
Sajnos csak a próba sikerült, élesben nem megy a dolog.
Nem tudom, hogy az előbb miért annak a könyvtárnak a tartalmát kezdte összemásolni amelyiket valóban kellett, mert most az istennek sem tudom rávenni, hogy azt csinálja, amit én akarok, ne pedig a teljes "Dokumentumok" mappámat.
Tehát továbbra sem tiszta, hogy miként kell elnavigálni a kérdéses mappába. -
air
nagyúr
-
alfa20
senior tag
-
air
nagyúr
-
Fferi50
Topikgazda
-
Fferi50
Topikgazda
Szia!
Elnavigálsz abba a könyvtárba, ahol a fájljaid vannak.
Elindítod az excelt, ami egy új munkafüzettel indít.
Ide összemásolhatod a fájlokat.
Ezután Alt+F11 lenyomásával átmész a VBA project ablakba.
A menüből kiválasztod az insert, azon belül pedig a module pontot.
A megnyilt modullapra bemásolod az alábbi kódot:
Sub osszerako()
Dim hova As Worksheet, fajlneve As String, usor As Long, xx As Integer
Set hova = ActiveSheet
fajlneve = Dir("*.xls*")
Application.EnableEvents = False
Applicaton.ScreenUpdating=False
Do While fajlneve <> ""
xx = xx + 1
usor = hova.UsedRange.Rows.Count + 1: If usor = 2 Then usor = 1
Workbooks.Open Filename:=fajlneve, ReadOnly:=True
ActiveSheet.UsedRange.Copy Destination:=hova.Cells(usor, 1)
ActiveWorkbook.Close False
fajlneve = Dir()
If xx Mod 10 = 0 Then Application.StatusBar = "Másolva: " & xx & "db fájl!"
Loop
Application.EnableEvents = True
Application.ScreenUpdating=True
Application.StatusBar = False
MsgBox "A másolásnak vége, kérem, mentse el a fájlt!", vbInformation, "Fájlok összemásolása"
End SubVisszamész az excel munkalapra (Alt+F11 ismét).
Ezután menü - nézet- makrók megjelenítése. Megjelenik a listában az osszerako. Inditás.
Alul a státusz soron fogod látni a begyűjtött fájlok számát, tizesével nőve.Ha végzett, kapsz egy üzenetet.
Ezután mentés másként művelettel nevezd el a fájlodat, a mentés után bezárhatod.Remélem, sikerülni fog.
Üdv.
-
Delila_1
veterán
-
air
nagyúr
Új hozzászólás Aktív témák
-
25000 - 24901
54978 - 54001 54000 - 52001 52000 - 50001 50000 - 48001 48000 - 46001 46000 - 44001 44000 - 42001 42000 - 40001 40000 - 38001 38000 - 36001 36000 - 34001 34000 - 32001 32000 - 30001 30000 - 28001 28000 - 26001 26000 - 25901 25900 - 25801 25800 - 25701 25700 - 25601 25600 - 25501 25500 - 25401 25400 - 25301 25300 - 25201 25200 - 25101 25100 - 25001 25000 - 24901 24900 - 24801 24800 - 24701 24700 - 24601 24600 - 24501 24500 - 24401 24400 - 24301 24300 - 24201 24200 - 24101 24100 - 24001 24000 - 23901 23900 - 23801 23800 - 23701 23700 - 23601 23600 - 23501 23500 - 23401 23400 - 23301 23300 - 23201 23200 - 23101 23100 - 23001 23000 - 22901 22900 - 22801 22800 - 22701 22700 - 22601 22600 - 22501 22500 - 22401 22400 - 22301 22300 - 22201 22200 - 22101 22100 - 22001 22000 - 20001 20000 - 18001 18000 - 16001 16000 - 14001 14000 - 12001 12000 - 10001 10000 - 8001 8000 - 6001 6000 - 4001 4000 - 2001 2000 - 1
-
Fórumok
PROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
Hirdetés
- Brogyi: CTEK akkumulátor töltő és másolatai
- Gumi és felni topik
- Vigneau interaktív lokálblogja
- Megújult mobilos felület, fórumos ráncfelvarrás a PROHARDVER! lapcsaládon
- Parfüm topik
- Spórolós topik
- Autós topik
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Kiszivárgott a Xiaomi 17T és 17T Pro teljes specifikációja és eurós ára
- Diablo IV
- További aktív témák...
- BESZÁMÍTÁS! ASRock A520M R7 5700 32GB DDR4 512GB SSD RTX 3060 Ti 8GB Rampage SHIVA Corsair 650W
- ÚJ - MACBOOK PRO 16" M5 MAX 18C CPU / 40C GPU / 48 GB RAM / 2TB + 3 ÉV APPLE Care PLUS + ÁFÁ-s
- Dell Latitude 5300 13,3" FHD IPS touch, i5 - i7 8665U, 8-16GB RAM, SSD, jó akku, számla, 6 hó gar
- Bomba ár! HP ZBook 15u G3 - i7-6G I 8GB I 256SSD I Radeon R7 I Cam I W11 I Garancia!
- 188 - Lenovo LOQ (15IRX10) - Intel Core i5-13450HX, RTX 5060
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest





... kivéve éppen a keresett Backspace-t
, meg társait, mert ezekket megnyomva a TextBox végrehajtja a műveletet, de a TextBox_Neve_KeyPress (ByVal KeyANSI As MSForms.ReturnInteger) nem hívódik meg...
Egy árlista táblázatban cikkszámok nullával kezdődnek. Ezt be tudjuk írni szövegként. CSV formátumban kell elmenteni, mert a Next (váll.irányítási rendszer) ezt tudja betölteni. Miután elmenti, kilép, majd megint megnyitja eltűnnek a nullák!








