Hirdetés

2024. április 26., péntek

Gyorskeresés

Útvonal

Fórumok  »  OS, alkalmazások  »  Microsoft Excel topic (kiemelt téma)

Téma összefoglaló

Téma összefoglaló

  • Utoljára frissítve: 2023-11-13 08:31:56

LOGOUT.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.

Összefoglaló kinyitása ▼

Hozzászólások

(#23001) Fferi50 válasza tgumis (#22998) üzenetére


Fferi50
őstag

Szia!

Egy munkalap nyomtatott oldalainak számát a munkalapnév.pagesetup.pages.count tartalmazza.
Pl. cells(1,1).value=activesheet.pagesetup.pages.count beírja az A1 cellába az aktív munkalap oldalainak számát.

Üdv.

(#23002) Delila_1 válasza Fferi50 (#23001) üzenetére


Delila_1
Topikgazda

Ez 2007-től jó.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#23003) slashing válasza Delila_1 (#22999) üzenetére


slashing
senior tag

szia

Bocsi hogy csak most reagálok de nagyon húzós nap volt...

Tökéletes pont erre gondoltam, nagyon szépen köszönöm! :C :R

(#23004) Delila_1 válasza slashing (#23003) üzenetére


Delila_1
Topikgazda

Szívesen. :)

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#23005) tgumis válasza Fferi50 (#23001) üzenetére


tgumis
tag

Ez makrò vagy képlet? Bocsi a hülyéz kèrdésért de nem vàgom. Sajna most sosben kel összeraknom egy táblázatot és nincs időm sem utánaolvasni.

(#23006) Fferi50 válasza tgumis (#23005) üzenetére


Fferi50
őstag

Szia!

Egy egysoros makró.
De ha minden munkalapra szeretnéd, akkor a ciklussal több soros lesz.

Sub lapszam()
for each sh in sheets
sh.range("A1").value=sh.pagesetup.pages.count
next
end sub

Üdv.

(#23007) Pikkolo^^


Pikkolo^^
addikt

Van az X excel file-m aminek bizonyos adatait hivatkozással az Y-ba másoltam át. Az a gondom, hogy az Y file-ban nem tudok keresni semmire sem, mert a hivatkozások miatt egyet sem talál meg. Ezt hogyan lehetne kiküszöbölni?

(#23008) Fferi50 válasza Pikkolo^^ (#23007) üzenetére


Fferi50
őstag

Szia!

Mivel szeretnél keresni és mit?
A keresésnek (Ctrl+F) van olyan opciója, hogy az értékekben keres.
Makróban is a range.find -nek megadhatod a lookin paraméterrel, hogy értékben vagy képletben keressen.

Üdv.

(#23009) Pikkolo^^ válasza Fferi50 (#23008) üzenetére


Pikkolo^^
addikt

Ctrl+f-el keresek, reggel megnézem az értékekben keresést.

(#23010) mdk01


mdk01
addikt

Valaki legyen szíves segíteni hogyan van az parancs mikor több cella értékét szeretnénk egy cellába berakni?
Valami ilyesmi: " & cellanév "

Köszönöm előre is

(#23011) slashing válasza mdk01 (#23010) üzenetére


slashing
senior tag

(#23012) mdk01 válasza slashing (#23011) üzenetére


mdk01
addikt

Köszönöm

(#23013) alfa20


alfa20
senior tag

sziasztok,

olyat hogy tudok készíteni, hogy egy cellába (pl: B2) csak számot lehessen megadni?

"Az agy olyan, mint az ejtőernyő: csak akkor működik, ha nyitott." (Thomas Dewar)

(#23014) lappy válasza alfa20 (#23013) üzenetére


lappy
őstag

szia!
ezt próbáld ki

Bámulatos hol tart már a tudomány!

(#23015) dynamicrossh


dynamicrossh
tag

Üdv!
Excel 2003 esetén mitől lehet hogy erőforrás problémákra nem akar egyszerre két táblát megnyitni? Csak javítás után amikor is rosszul jeleníti meg a másodjára megnyitott táblát?

(#23016) alfa20 válasza lappy (#23014) üzenetére


alfa20
senior tag

Köszönöm!
ez kellet.

"Az agy olyan, mint az ejtőernyő: csak akkor működik, ha nyitott." (Thomas Dewar)

(#23017) Pikkolo^^ válasza Fferi50 (#23008) üzenetére


Pikkolo^^
addikt

Köszönöm, ezt az egyet nem próbáltam ki.

(#23018) mr.nagy


mr.nagy
tag

Sziasztok!

Olyat lehet e csinálni, hogy ha mondjuk a D oszlopban valamely cellát kitöltik, akkor automatikusan ezt a beírt éréket alapul véve cserélje ki a cella tartalmát egy függvényre ami tartalmazza a beírt értéket is. Példa: A D23 cellába beírja, hogy "kutya" és ez kicserélődik erre =TISZTÍT("kutya")

HMNote10Pro

(#23019) Fferi50 válasza mr.nagy (#23018) üzenetére


Fferi50
őstag

Szia!

Ennek érdekében az adott munkalap change eseményéhez kell makrót írnod:
Private Sub Worksheet_Change(ByVal Target As Range)
application.enableevents=false
if target.column=4 then target.formula="=Clean(""" & target.value & """)"
application.enableevents=true
end sub

Üdv.

(#23020) mr.nagy válasza Fferi50 (#23019) üzenetére


mr.nagy
tag

Köszönöm! Tökéletes. :R

HMNote10Pro

(#23021) Wyll


Wyll
őstag

Sziasztok!

Azt szeretném megcsinálni Excel 2010-ben, hogy ha
- a munkafüzet nincs még elmentve, vagy
- el van már mentve, de a mentés máskéntre kattint a júzer
(tehát magyarul amikor felugrik a mentésablak),

akkor ajánljon fel egy általam meghatározott filenevet a mentéshez, ami nem más, mint egy adott cella tartalma+egy énáltalan megadott string ("_jegyzőkönyv"), és kiterjesztésnek pedig a már meglévő .xlsm (makróbarát munkafüzet) kiterjesztés.

Próbálgattam már makrót írni rá innen-onnan összeollózott forrásokból, és erre jutottam:

Sub mentesmaskent2()
' mentesmaskent2 Makró
ActiveWorkbook.SaveAs Filename:=Range("gyariszam") & "_jegyzőkönyv" & ".xlsm"
End Sub

Ez ugyebár nem dob fel mentés ablakot, csak megcsinálja.
Kérdésem, hogy
- ez így korrekt-e, vagy a működőképessége ellenére mindenképpen lenne hozzá javítási javaslatotok?
- meg lehet-e úgy csinálni, hogy egy mentés ablakba írja be előre magától a kért filenevet?

Gyakorlatilag egy alapértelmezett mentési nevet kéne megadni. Már ha van ilyen..

:R :R

[ Szerkesztve ]

Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll

(#23022) Fferi50 válasza Wyll (#23021) üzenetére


Fferi50
őstag

Szia!

Nézd meg a Filedialog objektumhoz tartozó helpet az excel VBA -ban.

Többfunkciós és többféle alapértelmezést is adhatsz neki.

De ne feledd, ha a felhasználóra bízod a mentés nevének megadását, akkor nem lehetsz biztos abban, hogy nem változtatja meg azt....
Szerintem sokkal jobb, ha magad adod meg a nevet és mented a filet. Szóval én nem dobnék fel dialog ablakot.

Ha nem akarod, hogy a fájlmentés miatt megváltozzon az eredeti fájlod neve, akkor használd a
workbook.savecopyas filename formát

Ekkor nem változik meg a használt fájlod állapota.

Üdv.

(#23023) Wyll


Wyll
őstag

Ennyi történik:

és itt megáll.. :U :U

Amúgy jónak tűnik amiket mondasz.. :R
Megj: a júzer szerencsére értelmes, nem az a cél, hogy ne tudja megváltoztatni, hanem hogy az esetek 99%ában csak egy entert kelljen nyomnia ;)

[ Szerkesztve ]

Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll

(#23024) Fferi50 válasza Wyll (#23023) üzenetére


Fferi50
őstag

Szia!

A menüsorban levő kérdőjelre kattints, akkor előjön a VBA help menü és annak a kereső sorába írd be a filedialog kifejezést.
Aztán válogathatsz.

Üdv.

(#23025) bandus


bandus
veterán

mégse :)

[ Szerkesztve ]

"a jövötsajnos nemlehet tudni csakhamárotvagy deakormegmár azajelen"

(#23026) tgumis


tgumis
tag

Sziasztok!
Már kérdeztem itt a 6. hónapban de az akkori választ nem sikerült elsajátítanom. szóval mit tegyek hogy a feltöltött kép mintájára amikor az adott cellák értékeit összefűzöm(csak a mintában használom az összeset) akkor az az összefűzés úgy sikerüljön ahogy a mintában van

Segítsetek

[ Szerkesztve ]

(#23027) Delila_1 válasza tgumis (#23026) üzenetére


Delila_1
Topikgazda

... A6 & " " & SZÖVEG(A7; "éééé.hh.nn") & "-n" ...

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#23028) tgumis válasza Delila_1 (#23027) üzenetére


tgumis
tag

és a félkövérség érdekében tudok valamit csinálni

(#23029) Delila_1 válasza tgumis (#23028) üzenetére


Delila_1
Topikgazda

Igen. Egyél többet! ;]

Meg lehet írni pár sorban a makróját, de most nincs időm ilyen játékra.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#23030) tgumis válasza Delila_1 (#23029) üzenetére


tgumis
tag

:)) és majd valamikor esetleg lesz időd?

(#23031) slashing


slashing
senior tag

Lehet munkafüzethez rendelt makróban makrót meghívni?

nevezetesen van egy ilyen makróm a füzeten:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("H7,H12,H17,H22,H27,H32,H37,H42,H47,H52,N7,N12,N17,N22,N27,N32,N37,N42,N47,N52,T7,T12,T17,T22,T27,T32,T37,T42,T47,T52,Z7,Z12,Z17,Z22,Z27,Z32,Z37,Z42,Z47,Z52,AF7,AF17,AF22,AF27,AF32,AF37,AF42,AF47,AF52")) Is Nothing Then
Application.Dialogs(xlDialogInsertObject).Show
End If
End Sub

Ami a cellákon duplakattintásra előhívja az objektum berakást ahol én fájlból berakom ikonként.

Majd van egy ilyen makró

Sub alakzatMeretezes()
Dim shp As ShapeRange

Set shp = Selection.ShapeRange

shp.Width = 42
shp.Height = 42

End Sub

Ami a kijelölt alakzatot a megadott méretre alakítja nekem. Az lenne a legkényelmesebb ha lefutna ez a makró is miután bekerült a fájl a füzetbe.

ezt össze lehet párosítani?

[ Szerkesztve ]

(#23032) tgumis válasza Delila_1 (#23029) üzenetére


tgumis
tag

Valaki màsnak még valami ötlete esetleg tud még valaki segíteni.

(#23033) Fferi50 válasza slashing (#23031) üzenetére


Fferi50
őstag

Szia!
Ide tedd be a másik makró hívását, így:

If Not Intersect(Target, Range("H7,H12,H17,H22,H27,H32,H37,H42,H47,H52,N7,N12,N17,N22,N27,N32,N37,N42,N47,N52,T7,T12,T17,T22,T27,T32,T37,T42,T47,T52,Z7,Z12,Z17,Z22,Z27,Z32,Z37,Z42,Z47,Z52,AF7,AF17,AF22,AF27,AF32,AF37,AF42,AF47,AF52")) Is Nothing Then
Application.Dialogs(xlDialogInsertObject).Show
alakzatMeretezes
End If

Remélem, jó helyre gondoltam.

Üdv.

(#23034) lappy válasza tgumis (#23032) üzenetére


lappy
őstag

Mitől függ az hogy a szöveg ben melyik szó lesz a félkövér mert azt írtad hogy csak itt használtad egybe az összes cellát

Bámulatos hol tart már a tudomány!

(#23035) slashing válasza Fferi50 (#23033) üzenetére


slashing
senior tag

Működik a meghívás :R de az objektum elveszti a kijelölést a beillesztés után így nem fut le a második makró.

ha berakok egy ilyet: Range("target").Select akkor kijelöli de akkor meg hibát ír erre a sorra, pedig kijelöli :/

run-time error 1004
method 'range' of object' worksheet failed..

szerk.: mégsem jelöli ki

szerk2: az az érdekes ha menüsorról szúrok be akkor az objektum lesz az aktív de mivel én cella duplakattintással indítom a folyamatot így az a cella lesz az aktív miután berakta az objektumot így nincs min lefusson a méretezés...

[ Szerkesztve ]

(#23036) tgumis válasza lappy (#23034) üzenetére


tgumis
tag

Egyszer úgy használom hogy:
Csatolva:.............valami...............valami................valami
Szóval a pontokon kívül minden. A "valami"-k az mindegyik egy külön cellából vett érték.
És van egy màsik eset ahol egy nagyobb szövegbe kerül beillesztésre ugyanezen cellák értéke. Azért van erre szükség mert egy sablonos szövegbe cserélődnek az értékek és ki kell legyenek emelve összegek és dátumok.

(#23037) Fferi50 válasza slashing (#23035) üzenetére


Fferi50
őstag

Szia!

Már elég késő van ahhoz, hogy elgondolkozzak rajta, holnap friss fejjel megnézem. Valahogyan meg kellene tudni a beillesztett új alakzat nevét.

Üdv.

(#23038) slashing válasza Fferi50 (#23037) üzenetére


slashing
senior tag

ÁÁáááá ne fáradj, gőzöm sincs miért de egy véletlen újraindítás után mikor újra megnyitottam a fájlt már úgy működött ahogy kell. :( :DD igaz addig szívtam vele meg túrtam a netet hogyan kellene :W

pont azért jöttem hogy szóljak hogy jó

[ Szerkesztve ]

(#23039) Delila_1 válasza tgumis (#23036) üzenetére


Delila_1
Topikgazda

Rossz hír, hogy a képlettel beírt szöveget nem lehet részenként formázni, csak azt, ahova a képlettel összehozott szöveget értékként beilleszted. Erre alkalmazhatsz egy kis makrót, ami az A11-ben összefűzött szöveget az A13-ba illeszti be. Ebből a makróból indíthatod a formázást.

Sub Beilleszt()
Range("A11").Copy
Range("A13").PasteSpecial xlPasteValues
Forma
End Sub

Sub Forma()
Dim start As Integer, hossz As Integer, szin As Integer, felk As Boolean
Dim meret As Integer

With Cells(13, 1).Characters.Font
.Name = "Arial"
.ColorIndex = 0
.Size = 10
.Bold = False
End With

start = 1: hossz = Len(Range("A1")): meret = 18: szin = 3: felk = True: GoSub Szinez
start = start + hossz + 1: hossz = Len(Range("A2")) + 1 + Len(Range("A3")) + Len(Range("A4"))
meret = 14: szin = 0: felk = True: GoSub Szinez
Exit Sub

Szinez:
With Cells(13, 1).Characters(start:=start, Length:=hossz).Font
.ColorIndex = szin
.Size = meret
.Bold = felk
End With
Return
End Sub

Azt azért megnézném, ahogy a lapát nyelével felásol egy területet. :DD

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#23040) Fferi50 válasza slashing (#23038) üzenetére


Fferi50
őstag

Szia!

Mivel a beszúrás után a beszúrt objektum lesz a kiválasztott, ezért a második makró meghívása helyett elég ennyit beírni:

with selection.shaperange
.width=42
.height=42
end with

Üdv.

(#23041) slashing válasza Fferi50 (#23040) üzenetére


slashing
senior tag

:R

Egyébként találtam egy bugot ami miatt rengeteget szívtam és lehet 10-ed ennyi időbe telik megcsinálni ezt az egészet.

Lapelrendezés nézetben nem a cellába rakja az okjektumot hanem mellé míg normál nézetben vagy oldaltörések megjelenítése nézetben a cellába rakja én meg persze Lapelrendezés nézetet használtam :D

(#23042) Delila_1 válasza tgumis (#23036) üzenetére


Delila_1
Topikgazda

Összeollózott szövegek formázása 1 cellán belül

[ 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.

(#23043) tgumis válasza Delila_1 (#23042) üzenetére


tgumis
tag

köszönöm, hogy mégis szakítottál rám időt.bár soká fog tartani míg megfejtem melyik rész mit takar és mire még hozzáigazítom az én szövegemhez de nagyon hálás vagyok érte remélem hamar megfejtem melyik rész mit jelent.

(#23044) Delila_1 válasza tgumis (#23043) üzenetére


Delila_1
Topikgazda

Sosem értem, hogy a pontos feladat leírása helyett miért példálóztok. :N

Ha konkrétan megírnád, melyik az összefűzött cella, felsorolnád az összefűzendő cellák címét, és azt, hogy azok közül a harmadik a dátum, az ötödik pedig a kiszámított összeg, személyre szabott makrót kapnál.

Így viszont a makró tanulmányozásával valószínűleg tanulsz, és az is hasznos dolog. :K

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#23045) tgumis válasza Delila_1 (#23044) üzenetére


tgumis
tag

Teljesen igazad van.
Az a helyzet hogy nem azt szeretném hogy megold helyettem hanem hogy megtanuljam. Màr így is sokat tanultam tőled és nem akarlak fàrasztani csak azt hittem pikk pakk ràjövök hogy a makródban mi miért van. De küldöm az email címedre hogy mit szeretnék.

(#23046) csferke


csferke
senior tag

Sziasztok!

Egy lapon az A-D oszlopba viszek be adatokat. Ezekből az adatokból van két diagram (egymás alatt) a D oszloptól jobbra.

Lehetséges-e (hogyan), hogy a két diagram automatikusan mozogjon amikor az A-D oszlopba új adatokat viszek be vagy csak amikor görgetem le-fel a munkalapot? Azt szeretném, hogy mindig láthatóak legyenek a diagramok függetlenül, hogy a munkafüzet mely sorai látszanak.

köszi

[ Szerkesztve ]

(#23047) Delila_1 válasza csferke (#23046) üzenetére


Delila_1
Topikgazda

A lapodhoz kell rendelned a makrót.
Mikor a lapon ráállsz egy cellára, a két diagram "mellé ugrik".

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With ActiveSheet.Shapes("Diagram 1")
.Top = ActiveWindow.ActiveCell.Top
.Left = ActiveWindow.ActiveCell.Left + ActiveCell.Width
End With
With ActiveSheet.Shapes("Diagram 2")
.Top = ActiveWindow.ActiveCell.Top + ActiveSheet.Shapes("Diagram 1").Height + 5
.Left = ActiveWindow.ActiveCell.Left + ActiveCell.Width
End With
End Sub

Lehet, hogy másképp hívják a diagramjaidat, ennek megfelelően írd át a makróban a "Diagram 1", és
"Diagram 2" szövegrészeket.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#23048) csferke válasza Delila_1 (#23047) üzenetére


csferke
senior tag

Delila köszi a gyors reagálást. :R
Ez eddig OK de szeretném picit pontosítani.
A diagramok egymás alatt (eddig OK) jelennek meg de mindig a G oszlopban kell, hogy legyen a bal széle.

Az adatok bevitelénél nem szükséges a diagramok mozgatása. Csak akkor kell mozogniuk le/fel amikor görgetem a munkalapot le/fel és ekkor a diagramok mindig láthatóak legyenek.

Alapállásban a diagramok G1:T26, G27:T53 vannak. Amikor nyomok pl. 2x PageDown-t akkor pl. a G90:T116, G117:T143 tartományban legyenek a diagramok.
Tehát ha bármilyen módom (egér/billentyűk) mozgatom le/fel a munkalapot akkor a diagramok mindig a látható tartományban legyenek a G oszloptól kezdődően jobbra.

(#23049) slashing


slashing
senior tag

Táblázattá formázott táblázatnál ha a lapvédelem aktív és van zárolt cella a táblázatban akkor nem fog dinamikusan bővülni a táblázat. A következő kóddal el ez kiküszöbölhető:
Munkalaphoz rendelt makró.
Hátha valakinek kelleni fog még:

Private Sub Worksheet_SelectionChange(ByVal Target As range)
If IsNull(Target.Locked) Then
Munka1.Protect , True, True, True, True
ElseIf Target.Locked Then
Munka1.Protect , True, True, True, True
Else
Munka1.Unprotect
End If
End Sub

(#23050) Delila_1 válasza csferke (#23048) üzenetére


Delila_1
Topikgazda

A görgetéshez nem tudok eseményt rendelni.
Az előző makróból vedd ki a két .Left kezdetű sort, akkor továbbra is a felső diagram teteje abban a sorban jelenik meg, amelyik cellára kattintasz, a másik a felső alatt, az oszlop helye változatlan marad.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

Útvonal

Fórumok  »  OS, alkalmazások  »  Microsoft Excel topic (kiemelt téma)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.