-
Fototrend
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
-
BullZeye
veterán
válasz Delila_1 #35319 üzenetére
Belefutottam egy hibába, ha duplikálom a sort makróval, amiben védett cellák vannak (bármit lehet, csak kijelölni nem), ott a képletet nem viszi át. Formázás átmegy tökéletesen, viszont az összes képlet hiányzik.
És persze Run-Time error '1004'
A módosítani kívánt cella vagy diagram védett lapon van. Ha módosítani szeretné ezt az elemet, oldja fel a munkalap védelmét. Lehet, hogy ehhez meg kell adnia egy jelszót.Ez a makró, amit használnék a sor duplikáláshoz:
Sub Duplicate()
'
' Duplicate Makró
ActiveCell.Offset(1, 0).EntireRow.Insert
ActiveCell.EntireRow.Copy ActiveCell.Offset(1, 0).EntireRow
' Billentyűparancs: Ctrl+d
'
End SubVan valami egyszerű módja kiegészíteni ezt, hogy védett cella függvényt is copyzzon? Cella védelem csak amiatt van, hogy még véletlenül se tudjak rákattintani és kitörölni a képleteket, és ne kelljen minden alkalommal ellenőrizni, hogy mindegyik megvan e még.
-
Delila_1
Topikgazda
válasz BullZeye #35351 üzenetére
ActiveSheet.Protect Password:="JajDeMilyenTitkosJelszó", UserInterfaceOnly:=True
Ezt a sort tedd makró elejére, mert ez engedélyezi makróból az egyébként tiltott műveletedet.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
föccer
nagyúr
Helló!
Teljesen hülye vagyok a témában. Gombnyomásra kellene egy cella értéket átmásolni néhány másik cellába. (egy paraméter lista egyedileg állítható elemeket tartalmaz, de gombnyomásra szeretném, ha az összes ugyan azt az értéket venné fel).
Kiraktam a gombot, megnyitottam a hozzá tartozó kódrészletet, de hogyan tudok cellára hivatkozni, értéket adni?
Függvény kezelésbe jó vagyok, de makróval életemben nem foglalkoztam.
Építésztechnikus. Építőmérnök.
-
lappy
őstag
válasz föccer #35353 üzenetére
Sub Paste_Values_Examples()
'Set the cells' values equal to another to paste values
'Set a cell's value equal to another cell's value
Range("G1").Value = Range("A1").Value
Range("G5").Value = Range("A1").Value
Range("D1:D3").Value = Range("A1:A3").Value
End SubBámulatos hol tart már a tudomány!
-
Delila_1
Topikgazda
válasz föccer #35353 üzenetére
Egy másik módszer.
Ha jól értem, egy listából választod ki a paramétert, és ezt akarod másik cellákba másolni.A B5 cellában van egy érvényesítés, amiből kiválasztod a megfelelő paramétert. A laphoz rendelt makró ezt bemásolja a Range(...) felsorolásában lévő cellákba, mikor a B5-ben változtatsz.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$5" Then
Target.Copy
Range("D3,D5,D7,D10").PasteSpecial xlPasteValues
Application.CutCopyMode = False
End If
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.
-
föccer
nagyúr
válasz Delila_1 #35356 üzenetére
Majdnem. 10 paraméter van, ami külön-külön vűáltoztatható, ezért mindegyikre be van állítva az érvényesítés. Ellenben elég sokszor előfordul az, hogy az összes paramétert ugyan arra az értékre kell visszaállítani, ekkor legyen csak egy gombnyomás, hogy ne kelljen külön-külön végig zongorázni az összesen. Lappa megoldása pörfikt és elég egyszerű hozzá, hogy még én is megértsem.
üdv, föccer
Építésztechnikus. Építőmérnök.
-
spe88
senior tag
Hello!
Van olyan opció Excelben, hogy egy hálózaton lévő, megosztott fájlban az adott felhasználó csak az adott oszlopot lássa? Esetleg valami ehhez hasonló opció, hogy az oszlopot látja csak a mások által beleírt tartalmat nem!
Tx
Spóroljunk! Kerül, amibe kerül!
-
spe88
senior tag
-
lappy
őstag
A lap alján van egy zip egy jó kiindulás lehet
Bámulatos hol tart már a tudomány!
-
föccer
nagyúr
És nyomtatást hogyan tudok kérni makróból, egy másik munkalapra, aminek a neve "recept"?
Van egy oldal, ahol beállítom a paramétereket, és egy másik lapon állítom össze a teljes formanyomtatványt. Ezt akarnám kinyomtatni, ha lehet, a paraméterező lapról. (tudom, +2 kattintás lenne, de jelenleg többszáz oldalról lenne szó.
Köszi.
üdv, föccer
Építésztechnikus. Építőmérnök.
-
lappy
őstag
válasz föccer #35364 üzenetére
Sub nyomtat()
b = Worksheets("névsor").Cells(1, 2).Value
b = b + 1
For a = 2 To b
Sheets("névsor").Select
Range(Cells(a, 2), Cells(a, 2)).Select
Selection.Copy
Sheets("Sima").Select
Range("C3").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Next a
MsgBox "A nyomtatás kész, ügyes vagy!!!"
Sheets("Sima").Select
Range("C3").Select
Selection.ClearContents
Range("A2").Select
End SubBámulatos hol tart már a tudomány!
-
allein
addikt
Üdvözletem mindenkinek. Szeretnék egy kis segítséget kérni, képen látható összegek RON-ban értendők, COD -utánvét összegek. Amennyiben beírom a kerekítésnél a -1-es értéket akkor van olyan összeg amit felfele kerekít, holott lefele kerekítés lenne szükség. Tudtok ebben segíteni?
(#35369) Delila_1 - jó lesz a "0":
Köszönöm szépen a segítséget
[ Szerkesztve ]
http://phmegbizhatosag.atw.hu/phtabla.php?nev=allein
-
Delila_1
Topikgazda
Kicsit kevesebb Select utasítással
Sub nyomtat()
b = Worksheets("névsor").Cells(1, 2) + 1
For a = 2 To b
Sheets("névsor").Cells(a, 2).Copy
Sheets("Sima").Range("C3").PasteSpecial xlValues
Application.CutCopyMode = False
Sheets("Sima").PrintOut Copies:=1, Collate:=True
Next a
MsgBox "A nyomtatás kész, ügyes vagy!!!"
Sheets("Sima").Range("C3").ClearContents
End SubLehet, hogy több lap együttes nyomtatásáról van szó.
Sheets(Array("Munka1", "Munka2", "Munka3")).Select
SelectedSheets.PrintOut Copies:=1Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
föccer
nagyúr
válasz Delila_1 #35368 üzenetére
Egyetlen egy lapnak a nyomtatasarol van szo. Atallitom a parametereket, a formanyomtatvany megcsinalja a szamitasokat es nyomtathato A4 formatumban jeleniti meg a dolgokat, kvazi csak nyomtatni kell. Majd vissza korabbi lapra, parametereket allitani ellenorizni legpodulokat allitani minden biz-baz technologusi dolgot megcsinalni majd nyomtatni. Es ezt meg jo sokszor.
Kosz a valaszolat este atnezrm.
Építésztechnikus. Építőmérnök.
-
Delila_1
Topikgazda
válasz föccer #35370 üzenetére
Sub nyomtatasMunka2()
Sheets("Munka2").PrintOut Copies:=1
End SubEgy másik lapról nyomtatom a Munka2 lapot. Nem kell átlépni a Munka2-re, így vissza sem. Arra a lapra tegyél ki gombot ehhez a "komoly" makróhoz, ahol a változtatásokat végrehajtod.
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 föccer #35372 üzenetére
Érdemes makrót rögzíteni a programozás megismeréséhez.
Utána erőteljes gyomlálás szükségelteik, mert tele rakja Select utasításokkal, meg olyanokkal, amik alapértelmezésben be vannak állítva..Pl. rögzítsd, hogy félkövérre állítod egy cella karaktereit. Az esetleges több soros makróból elég 1 sor:
Range("D5").Font.Bold = True
[ 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.
-
Smogus
őstag
Sziasztok!
Adottak az alábbi cellatartalmak szöveges formában:
A1 "Budapest"
A2 "1165"
A3 "Újszász utca"A cél hogy a B1-es cellában a következő legyen olvasható:
"1165 Budapest Újszász utca"
Ez megvalósítható valmilyen képlette?
Előre is köszönöm a segítségetÜdv.: Laci
Ha az emberi agy elég egyszerű lenne ahhoz, hogy megértsük, akkor egyszerűségünkben erre már nem lehetnénk képesek. -- http://smogus.deviantart.com/ --
-
addikt
Szevasztok!
Kérnék szépen segítséget!
Van egy olyan feladat megvan benne adva az, hogy a "A személyi adatok munkalapon lévő ponthatárok alapján sorold be a munkatársakat"
A ponthatárok:
0 Gyenge munkatárs
41 Fejlesztendő munkatárs
66 Átlagos munkatárs
86 Kiemelkedő munkatársezt ha függvény egybeágyazásával hogy tudom megcsinálni vagy ha ezzel nem akkor mivel, hogyan?
-
Cece04
tag
Sziasztok!
Segítséget szeretnék kérni.
Beállitottam,hogy egy bizonyos lekérdezést meghívjon az excel sql szerverről,ezzel minden oké.
Viszont szeretném,hogyha az első oszlop alapján vlookuppal mellékeresne a táblázat bizonyos kategóriákat,de ebből a táblázatból nem tud dolgozni.
Próbáltam úgy,hogy VALUE képlettel átrakom egy másik oszlopba és úgy keresem mellé a kategóriát ,ami félig meddig működött is,de vannak olyanok is ebben az oszlopban,amik 0-val kezdődnek,pl 022221, azt pedig value képlettel már 22221-re változtatja,így meg nem talál már rá természetesen.Van olyan képlet,ami megtartja a teljes számsort úgy,hogy utána értékként is lássa?
Köszi!
A valósággal az a gáz, hogy nincsen hozzá háttérzene...
-
DeFranco
nagyúr
válasz Cece04 #35380 üzenetére
ha szöveg és szám formátumok között akarsz keresni különösebb segédoszlopok nélkül fkeressel vkeressel vagy indexholvannal, akkor én az ÉRTÉK és a FIX függvényt ajánlom.
példa: ha az oszlop amiben keresel számformátumot tartalmaz, de neked szövegként van meg az érték amit keresel, akkor =FKERES(ÉRTÉK([keresett adat]);[keresési tartomány];[oszlop];[pontos/közelítő])
ugyanez fordítva, ha a tartomány szövegként van, de neked értéked van amit meg kellene keresni, akkor =FKERES(FIX(([keresett adat];0);[keresési tartomány];[oszlop];[pontos/közelítő])
így nem kell segédoszlopozni.
nem teljesen értettem a kérdésedet, hogy mi a pontos probléma, de ezen szerintem el lehet indulni
-
patesz
csendes tag
Sziasztok,
Lenne egy problémám amivel nem tudok megbirkózni és szeretném a segítségetek kérni.
A megoldandó feladat a következő lenne:Adott egy Excel állomány amiben 3db munkalap (pl.: XX , YY , ZZ) található.
Az "XX" és "YY" munkalap is tart valahányadik sorig (pl.: az "XX" 10.-ig, a "YY" 3.-ig) és bővülhet.
A "ZZ" munkalap az előző két munkalapnak az összegzése lenne. Tehát először az "XX" munkalap (pl. 10db sora) majd a "YY" munkalap (pl.: 3db sora) lenne olvasható egymás alatt.
Ha az "XX" munkalap bővülne akkor is ezt követően kellene a "YY" munkalap értékeinek kerülnie.A számomra megoldhatatlan feladat az "XX" munkalap éppen aktuális utolsó nem üres sorának megtalálása és a második "YY" munkalap beolvasásának ehhez történő igazítása.
Az már csak gondolom bonyolítja a feladatot hogy az első 3db sor a fejlécé, tehát erre nem lenne szükség.Valakinek lenne valami ötlete vagy megoldása?
Köszönettel,
patesz20 -
poffsoft
addikt
válasz patesz #35385 üzenetére
szia,
a ZZ lap A1 cellától ezt a képletet írd be tetszőleges (sok) sorba:
=HA(SOR()<=DARAB2(XX!A:A)-3;INDIREKT("XX!A"&SOR()+3);HA(SOR()<=DARAB2(XX!A:A)+DARAB2(YY!A:A)-6;INDIREKT("YY!A"&SOR()-DARAB2(XX!A:A)+6);""))
ha a "B" oszlop is kell, akkor a B1-től lefelé ezt írd be:
=HA(SOR()<=DARAB2(XX!A:A)-3;INDIREKT("XX!B"&SOR()+3);HA(SOR()<=DARAB2(XX!A:A)+DARAB2(YY!A:A)-6;INDIREKT("YY!B"&SOR()-DARAB2(XX!A:A)+6);"NaN"))
[ Szerkesztve ]
-
Bivaly23
csendes tag
Sziasztok egy kis segítséget kérnék még kezdő vagyok.
A problémám a következő adott az A oszlop nevekkel a D az árakkal, a legolcsobb és legdrágább nevét kéne megadni egy másik oszloban. A min és max fügvényel meg van hogy, mik azok, az áruk látszik, de sem az fkeres, sem cím, sem a lookup al nem tudom a nevet megjeleniteni, midig hibát ir ki név vagy érték stb.
Segítséget előre is köszönöm.
Üdv. Bivaly[ Szerkesztve ]
Keress valami egyszerűt és tedd bonyolultá :)
-
Delila_1
Topikgazda
válasz Bivaly23 #35387 üzenetére
A G2 és G3 cellák képlete
=INDEX(A:A;HOL.VAN(MIN(D:D);D:D;0);1)
=INDEX(A:A;HOL.VAN(MAX(D:D);D:D;0);1)A H2 képlete látszik a szerkesztőlécen. A H3-nál csak a MIN helyett kell MAX-ot írnod.
[ 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.
-
Juditta_56
aktív tag
Sziasztok!
Már minden lehetséges netes forrást végigkutattam, de nem jövök rá, hogy miért nem működik a következő makró (bemásolom az egészet, a második nagybetűs komment sor alatti sorra dobja a hibát):
Sub EllMasol()
'
Dim ControlNeve, LapNeve, osszlap, SegLap As String
Dim fso As Object
' Dim ControlFile As Workbook
Set fso = CreateObject("Scripting.FileSystemObject")
fileExists = fso.fileExists("C:\Users\Desktop\Test\journals.xlsx")
'csak ebben a modulban:
Dim EllSor, EllOszl, JelSor, HibaOszl As Integer
Dim OszKonyvt, OszNeve As String
Dim OsszSor, OsszOszl, OsszOszlMax As Integer
' On Error GoTo Errorcatch
ControlNeve = ActiveWorkbook.Sheets(1).Range("AW1")
'EZ SEM MŰKÖDIK, DE EZT KIKERÜLTEM
' Set ControlFile = Workbooks(ControlNeve)
osszlap = Workbooks(ControlNeve).Worksheets("Összesítő").Name
SegLap = Workbooks(ControlNeve).Worksheets("Segéd").Name
If Environ("username") = azennevem Then 'Ide eredetileg az itthoni felhasználónevem,
'otthon
OszKonyvt = azenkönyvtáram 'ide meg az adott könyvtár neve van beírva...
Else
'benti
OszKonyvt = ActiveWorkbook.Sheet(1).Range("AY1")
End If
OszNeve = Workbooks(ControlNeve).Sheets(1).Range("AZ1")
EllSor = Workbooks(ControlNeve).Sheets(osszlap).Range("IJ1")
EllOszl = Workbooks(ControlNeve).Sheets(osszlap).Range("IK1")
JelSor = Workbooks(ControlNeve).Sheets(osszlap).Range("IL1")
HibaOszl = Workbooks(ControlNeve).Sheets(osszlap).Range("IM1")
fileExists = fso.fileExists(OszKonyvt & OszNeve)
Workbooks.Open (OszKonyvt & OszNeve) 'Megnyitja
Windows(OszNeve).Activate
Sheets(1).Activate
OsszSor = Range("CJ31")
OsszOszl = Range("A" & OsszSor)
OsszOszlMax = Range("A" & OsszSor + 1)
Range(Cells(OsszSor + 10, 4), Cells(OsszSor + 18, 4)).Copy 'Kimásolja
'ENNÉL A SORNÁL HIBAÜZENET: "Run-time error '1004'. Application-defined or operation-defined error." MIÉRT?
Workbooks(ControlNeve).Sheets(osszlap).Range(Cells(EllSor + 24, HibaOszl)).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Range(Cells(OsszSor + 20, OsszOszl), Cells(OsszSor + 18, OsszOszlMax)).Copy
Workbooks(ControlNeve).Sheets(osszlap).Range(Cells(EllSor + 24, EllOszl)).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Range(Cells(OsszSor, OsszOszl), Cells(OsszSor + 8, OsszOszlMax)).Copy
Workbooks(ControlNeve).Sheets(osszlap).Range(Cells(EllSor, EllOszl)).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Range(Cells(OsszSor + 10, OsszOszl), Cells(OsszSor + 19, OsszOszlMax)).Copy
Workbooks(ControlNeve).Sheets(osszlap).Range(Cells(JelSor, EllOszl)).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Exit Sub
'Errorcatch: MsgBox Err.Description
End SubA Debugnál szépen kiírja az összes változó nevét, (fájl, sorok-oszlopok száma), tehát nem azokkal van baja...
Köszönöm szépen előre is a segítséget!
[ Szerkesztve ]
"You may say that I'm a dreamer But I'm not the only one"
-
Delila_1
Topikgazda
válasz Juditta_56 #35395 üzenetére
Próbáld így:
Workbooks(ControlNeve).Sheets(osszlap).Cells(EllSor + 24, HibaOszl).PasteSpecial xlPasteValues
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Juditta_56
aktív tag
válasz Delila_1 #35396 üzenetére
Mindig mondom, hogy istennő vagy! Most az első copy-t bemásolja!
A másodiknál viszont ugyanaz a hiba, ha átírom a Te formuládra, ha hagyom az enyémet akkor is!
'Az alábbi másolást-beillesztés megcsinálja
Workbooks(OszNeve).Sheets(1).Range(Cells(OsszSor + 10, 4), Cells(OsszSor + 18, 4)).Copy
Workbooks(ControlNeve).Sheets(osszlap).Cells(EllSor + 24, HibaOszl).PasteSpecial xlPasteValues
Application.CutCopyMode = False
'Köszönöm! ♥
Workbooks(OszNeve).Sheets(1).Range(Cells(OsszSor + 20, OsszOszl), Cells(OsszSor + 18, OsszOszlMax)).Copy
'ENNÉL A SORNÁL HIBAÜZENET: "Run-time error '1004'. Application-defined or operation-defined error." MIÉRT?
Workbooks(ControlNeve).Sheets(osszlap).Range(Cells(EllSor + 24, EllOszl)).PasteSpecial xlPasteValues
'MEG ENNÉL IS:
Workbooks(ControlNeve).Sheets(osszlap).Range(Cells(EllSor + 24, EllOszl)).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=FalseBocs, nem leszek gépnél egy darabig, úgyhogy nem sürgős!
[ Szerkesztve ]
"You may say that I'm a dreamer But I'm not the only one"
-
Delila_1
Topikgazda
válasz Juditta_56 #35397 üzenetére
A Range a hiba. Vedd ki, a hozzá tartozó zárójelekkel együtt.
A Range utasítás szöveges értéket vár, pl. "A1". A Cells(sor, oszlop) viszont 2 számot ad, ezt nem veszi be a Range.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
poffsoft
addikt
válasz Juditta_56 #35397 üzenetére
A koordináta változóid fele variant, fele integer. Szándékos?
Van "1" nevű munkalapod?
Hol index-szel (sheet(1)), hol névvel (sheets(1)) hivatkozol rá. Szándékos?
A range-n belül a cells biztos, hogy nem 0. oszlopra hivatkozik? (Osszoszl, Osszoszlmax nem nulla?)[ Szerkesztve ]
-
Új hozzászólás Aktív témák
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Alkoholista nevelde
- Világító alma helyett világító tok és szíj az almákra
- Jövedelem
- Rossz üzlet az EV-kölcsönzés
- Milyen videókártyát?
- Milyen egeret válasszak?
- Motorola Moto G24 Power - hol van az erő?
- Elektromos rásegítésű kerékpárok
- Milyen TV-t vegyek?
- További aktív témák...