- Samsung Galaxy Watch7 - kötelező kör
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- One mobilszolgáltatások
- Samsung Galaxy Watch6 Classic - tekerd!
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- iPhone topik
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Honor Magic V2 - origami
- Megérkezett Európába a Moto G55 5G és Moto G35 5G
- Google Pixel topik
-
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
-
-
bozsozso
őstag
válasz
Fire/SOUL/CD #9596 üzenetére
nem tudom valamit biztosan el balfékeskedtem de nekem minden esetben 0-át ír be az adott cellába. na mindegy majd holnap megnézem mi lehet a gond.
nem is tudtam, hogy makróban ilyet is tudok írni. egyéb programokkal már próbálkoztam kisebb nagyobb sikerrel, de ezt nem tudtam, hogy ilyenre is lehet használni. na ez egy másik dolog
Köszönöm szépen ok minden rendben meg is találtam a hibát
-
válasz
bozsozso #9591 üzenetére
Megnyitod a munkafüzeted, amiben ezt a "furcsa" kerekítést használni szeretnéd, ALT+F11/Insert menü/Module és a megjelenő ablakba bemásolod az általam adott kódot. Mentés másként és makróbarát dokumentumként kell menteni immár.
Az a kód egy függvény, ugyanazok a szabályok érvényesek rá, mint pl a SZUM függvényre, azaz, egy adott cellán állva azt kell beírni, hogy pl =FSCD_Round5_9(A1)
-
perfag
aktív tag
válasz
bozsozso #9593 üzenetére
Előkészület: C2:igen, C3:nem - kijelölöd a cellákat amelyekre adatérvényesítést akarsz
Adatok menü, Adateszközök csoport, Érvényesítés parancs
A párbeszédablakban: Megengedve lenyíló: Lista - Forrásnak kijelölöd a C2:C3-at Ok
Ha akarod cifrázni próbáld ki a másik két fület is, beírsz valamiket és figyelszAz ok végrehajtása után a cellákon lenyíló jel jelenik meg. Lenyitod, kiválasztod. De beírhatsz is, ha elvéted akkor háborog. A háborgó üzenetedet a harmadik fülön magad megadhatod.
Lehet, hogy megint elütöttem valamit? Én radam kérdésére válaszolok éppen.
-
bozsozso
őstag
válasz
Fire/SOUL/CD #9588 üzenetére
biztos buta kérdés lesz, de ezt hogyan tudom használni?
-
radam
csendes tag
Még egy kérdés: azt hogy tudom beállítani, hogy egy cellába csak meghatározott értéket lehessen beírni (pl.: Igen vagy Nem), más értéket ne fogajdon be?
Tudja ezt az Excel alapból? -
válasz
bozsozso #9584 üzenetére
Az alábbi kód szabályos KEREKÍTÉS-t végez először (5 tizedtől felfelé illetve az alatt lefelé), továbbá most úgy írtam, hogy a kerekítést követően a 2-re végződő számokat 5-re , míg 7-re végződőket 9-re módosítja. Próbáld ki, remélem így megfelel.
Function FSCD_Round5_9(xCell As Range) As Single
Dim xNumber As Single
Dim xStr As String, xChar As String
Dim MyFxs As WorksheetFunction
Set MyFxs = Application.WorksheetFunction
xNumber = xCell
xStr = MyFxs.Round(xNumber, 0)
xNumber = xStr
xChar = Right(xStr, 1)
Select Case xChar
Case "0"
xNumber = xNumber - 1
Case "1"
xNumber = xNumber - 2
Case "2"
xNumber = xNumber + 3
Case "3"
xNumber = xNumber + 2
Case "4"
xNumber = xNumber + 1
Case "5"
Case "6"
xNumber = xNumber - 1
Case "7"
xNumber = xNumber + 2
Case "8"
xNumber = xNumber + 1
Case "9"
End Select
Set MyFxs = Nothing
FSCD_Round5_9 = xNumber
End Function -
radam
csendes tag
Sziasztok!
Megvalósítható-e az, hogy pl. három oszlop kivételével a cellákat jelszóval levédjem/zároljam?
Hogyan (Excel 2007-ben)?
Odáig jutottam, hogy Korrektúra->Tartomány módosításának engedélyezése, itt megadom a Tartományt, viszont az Engedélyek...-nél felhasználókat kellene megadnom... Vagyis ez a funkció csak hálózaton működik? Mezei .xlsx-nél nem tudom beállítani csak bizonyos cellák zárolását (az egész munkafüzet levédése az megy)?Köszönöm.
-
bozsozso
őstag
válasz
Fire/SOUL/CD #9582 üzenetére
na a 122 az nagyon jó kérdés, de mivel nem egész számokról van szó így ennek elég kicsi a valószínűsége. Az 5-re kerekítést azt meg tudtam valósítani de a 9-es az nem megy.
-
-
Delila_1
veterán
1. A1-ben van a 12.234.567.8 adat.
=HELYETTE(A1;".";"") A dupla idézőjellel azt mondod, hogy üres stringre cserélje a pontokat.2. Nem SZUM, hanem SZUMHA függvény kell. Nem kell rendezni az adatokat.
Az A oszlopban vannak a termékeid, B-ben a hozzájuk tartozó értékek.
=SZUMHA(A:A;A1;B:B)
megadja annak a terméknek a B oszlopbeli összegét, amit az A1 tartalmaz. A képletbe az A1 helyett idézőjelek között megadhatod a keresett termék nevét. -
Dave™
nagyúr
válasz
Delila_1 #9576 üzenetére
1. Megnéztem, de ennek be kell írnom mit szeretnék helyette kapni. Olyan nincs, ami egy számból eltávolítja a pontokat? Elvileg valami ilyesmit vártak volna.
2. Én is ezzel csináltam, de ha egy ilyen van pl:
A termék 3db
A termék 1db
B termék 2db
C termék 4db
A termék 2db
B termék 1db
B termék 8dbAkkor ahhoz, hogy rendesen SUM-olni lehessen sorba kell rendezni (át kell rendezni) a táblázatot. Nincs olyan függvény, ahol megadom, hogy keresse meg az A-kat, majd az ezekhez tartozó darabszámokat adja össze?
-
bozsozso
őstag
Sziasztok!
Ismét segítséget szeretnék kérni. Annyit szeretnék, hogy egy cella értékének kerekítése vagy 5 vagy 9 legyen.
pl.:128,75=129;131,13=129;43,1=45;46,2=45
tehát minden esetben 9-re vagy 5-re végződjön a szám attól függően, hogy melyikhez esik közelebb
Ha tudtok megoldást kérlek segítsetek.
Előre is köszönöm
-
Dave™
nagyúr
Sziasztok! Két függvény jellegű kérdésem lenne, sajnos nagyon láma vagyok az excel függvényekhez, és most használnom kellene majd aktívan őket.
1) Melyik függvénnyel lehet olyat csinálni, hogy a pl. 01.523.1.285 cellából a pontokat eltávolítsa, csak a szám maradjon?
2) Ha egy táblában az első oszlopban termékek vannak, többször is előfordul egy termék, nem sorban vannak, hanem össze vissza, és minden termékhez tartozik egy értékesítési mennyiség (minden előfordulásnál más), akkor hogy lehet ezeket az értékesített mennyiségeket termékkategóriánként összegezni? A pivot tábla megy, úgy is jó, de külön függvénnyel is kellene, és nem tudom melyik jó hozzá. Úgy csináltam meg, hogy sorba rendeztem a termékeket és szummáztam minden termékcsoportot külön, de ennél elegánsabb kellene
Nagyon köszönöm
-
Delila_1
veterán
Feltételezve, hogy a füzetekben, és a gyűjtő füzetben az első sorban megvan a címsor, valamint, hogy az összemásolandó adatok az A oszlopban kezdődnek:
Sub Osszadat()
Dim wbgyujto As Workbook, wb2 As Workbook
Dim utvonal As String, FN As String
Application.ScreenUpdating = False
utvonal = "E:\Temp\"
Set wbgyujto = ActiveWorkbook
FN = Dir$(utvonal & "*.*", vbDirectory)
Do While (Len(FN) > 0)
If Not (FN = "." Or FN = "..") Then
Workbooks.Open Filename:=utvonal & FN
Set wb2 = ActiveWorkbook
Range("A2").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Copy
wb2.Close
Range("A" & ActiveSheet.UsedRange.Rows.Count + 1).Select
ActiveSheet.Paste
End If
FN = Dir$()
Loop
Application.ScreenUpdating = True
Msgbox "Kész az összemásolás"
End SubAz utvonal = "E:\Temp\" sort írd át a saját útvonaladra
-
Oly
őstag
Sziasztok
Adott egy mappa benne több file.
Minden fileban ugyanazok a típusú adatok több oszlopban.
File-onként más más menyiségű sor.
Mind fejléccel ellátva.Ezeket az adatokat hogyan tudnám a legegyszerűbben összefűzni egy táblára?
Segítségetek előre is köszönöm.
-
Kicsibocs
csendes tag
Sziasztok!
Ismét elakadtam, és segítségre lenne szükségem:
(megpróbálom leegyszerűsíteni...)
Van két munkalapom, Munka1 és Munka2Munka1-en:
A oszlop: termékkódok, X oszlopban üres cellákMunka2:
A1111:A1131 tartomány: termékkódok
C1111: C1131 tartomány: a termékkódokhoz tartozó értékekAzt szeretném elérni, hogy a Munka2-ről a C oszlopban található értékeket a Munka1 x oszlop megfelelő cellájába másolja, vmi függvénnyel, de asszem elakadtam...
próbáltam a KUTAT-tal, ami be is jött, egészen addig, amíg meg nem találta az első találatot, mert utána mindenhol az szerepelt....
Szükség lenne a HA-ra is, de a kettőt nem tudom kombinálni...Tehát: írnám a munka1 X oszlopába, hogy keresse meg a Munka2! A1111:A1131-ben szereplő termékkódot a Munka1! A oszlopában (kb. 400 tétel
), és ha megvan, akkor illessze a kód sorába, az X oszlopba a Munka2! C1111: C1131-ben szereplő megfelelő értéket, ha nincs, akkor üres cella ké'ne
Nem jön össze.....
-
perfag
aktív tag
válasz
Maestro85 #9562 üzenetére
Jól elszúrtam, Delila válasza itt.
Megnéztem az Excel 2010 mit szól a szerb abeceda szerinti rendezéshez, nem volt boldog. Viszont átdobtam Wordbe, táblázatot csináltam belőle, Táblázateszközök, Elrendezés, Rendezés párbeszédablak - Egyebek ... A rendezés nyelve - és már kész is. -
Maestro85
tag
Hát beírtam keresőbe, hogy "karakterkódolás", amikor ebben a fórumban jártam, és semmit nem dobott ki.
Kipróbáltam Delila_1 (Fire) megoldását, átállítottam a területi beállításoknál a rendezést technikaira, de még így sem volt jó. Amúgy egy .dbf file-t szerettem volna megnyitni. Ha gondolod el tudom küldeni, hogy nálad normálisan néznek-e ki a betűk.De raktam fel open office portable-t, mert egyszerűbbnek, és gyorsabbnak tűnt. Itt ki tudtam választani az Eastern Europe (windows 1250 latin) karakterkódolást, és működött remekül, szóval végül is probléma megoldva. Azért köszönöm a választ!
-
Maestro85
tag
Üdv Mindeninek!
Nem tudja valaki megmondani, hogy excel 2007-ben hogyan lehet karakterkódolást állítani?
Mert a 2003 meg korábbi verziók, ha egy számukra felfoghatatlan file-t érzékeltek, felkínálták a lehetőséget megnyitáskor. De a 2007-es sajnos nem. Boszniai településneveket szeretnék rendezgetni, latin betűs átírással. Tehát nem ciril betűk vannak, hanem sima latin, de pl egy Đ vagy đ betű is már totál értelmezhetetlenül jelenik meg.
Mármint, ha megnyitom a file-t, amivel dolgozni szeretnék, akkor kavarodik össze az egész. -
Kicsibocs
csendes tag
válasz
Delila_1 #9551 üzenetére
Köszönöm
Bár nem így sikerült, de azé' sokat segített
Arra tudnál tippet adni, hogy
van egy combobox a formon, és rendesen ki is tudom választani az excelből a listát, azonban amikor rákattintok, a combo-ban a 0-val kezdődő termékkódok elől eltűnik a nulla...
(Excelben a cella formátuma különleges, egyediben is megmarad a 0 a számok előtt, más formázási mód ezeket törli sajna...)
Azt szeretném, ha a nulla ott maradna a comboban a kiválasztott termékkód előtt, bár a cellába az eredeti formátumába illeszti... tehát a működésével nincs gondcsak zavaró lehet a felhasználónak
Kösz, előre is... -
Delila_1
veterán
válasz
Charlie Gordon #9554 üzenetére
Más felfogásban, általánosítva a sorok és oszlopok számát:
Sub Adatosszesites()
Dim w2 As Worksheet
Dim sor As Integer, sor_1 As Integer
Dim oszlop As Integer, oszlop_1 As Integer
Dim datumok As Integer, nevek As Integer
Set w2 = Worksheets(2)
Sheets(1).Select
datumok = ActiveSheet.UsedRange.Columns.Count
sor_1 = 1: oszlop_1 = 2
nevek = Range("A2").End(xlDown).Row
For sor = 2 To nevek
w2.Cells(sor_1, 1) = Cells(sor, 1)
For oszlop = 2 To datumok Step 2
w2.Cells(sor_1, oszlop_1) = Cells(1, oszlop)
w2.Cells(sor_1, oszlop_1 + 1) = Cells(sor, oszlop)
w2.Cells(sor_1, oszlop_1 + 2) = Cells(sor, oszlop + 1)
oszlop_1 = oszlop_1 + 3
Next oszlop
sor_1 = sor_1 + 1
oszlop_1 = 2
Next sor
End Sub -
perfag
aktív tag
válasz
Charlie Gordon #9554 üzenetére
Próbálkozz ezzel:
Sub cc()
Dim w As Worksheet
Set w = Worksheets(1)
Sheets(1).Select
datumok = 3 '1 sorban a dátumpárok száma
sor = 0
nevek = 3 'A oszlopban ennyi név van
For j = 1 To nevek
nev = w.Cells(j + 1, 1)
For i = 1 To datumok
datum = w.Cells(1, 1 + 2 * i - 1)
mikor = w.Cells(j + 1, 1 + 2 * i - 1)
mennyi = w.Cells(j + 1, 2 + 2 * i - 1)
Sheets(2).Select
sor = sor + 1
Cells(sor, 1) = nev
Cells(sor, 2) = datum
Cells(sor, 3) = mikor
Cells(sor, 4) = mennyi
Next i
Next j
End Sub -
Delila_1
veterán
válasz
Charlie Gordon #9552 üzenetére
Kissé zavaros. Tegyél be egy képet róla.
-
Charlie Gordon
aktív tag
Van egy munkafüzet, aminek 1. sora címsor, oszlopai : A a név, a 2-3 , 4-5 stb. pedig egy dátumhoz tartozó értékek. Úgy kéne ezt a táblázatot egy makróval feldolgozni hogy a következő munkalapon 4 oszlop legyen: név dátum, érték1 érték2. Tehát minden emberhez annyi sor tartozzon, ahány dátum (oszlopok száma-1)/2 szerepelt az első munkalapon. Érthető ez így vagy nagyon zavaros voltam ?
-
Kicsibocs
csendes tag
Sziasztok!
UserForm-ról szeretném az ott megadott értékeket a munkalap meghatározott celláiba másolni... de nem megy...
Kétfajta adatot kellene bevinni: termékkódot és mennyiséget, a parancsgomb megnyomására pedig az adatokat egy előre megszerkesztett táblázatba (sémába) kellene illessze, kategóriánként egymás alá, de külön oszlopba...
Valahogy ilyen elrendezésben:
.....A, B, és C oszlopok vannak, A-ba termékkód, C-be az értéke, a B függvénnyel számolna majd
Tud valaki segíteni? -
Delila_1
veterán
válasz
M_AND_Ms #9546 üzenetére
Nálam simán megtalálja mindegyiket. Lehet, hogy azért, mert Fire egyik régebbi tanácsát megfogadtam, és a Windows addigi beállításán módosítottam.
Vezérlőpult - Területi és nyelvi beállítások - Területi beállítások fül - Testreszabás gombon katt - Rendezés fül/Lenyílóból a Technikai lehetőséget választottam, végig okéztam.
Természetesen az alapértelmezett területi beállítás Magyar kell hogy legyen.
Ez a beállítás megoldja a magyar ABC szerinti rendezést is. -
M_AND_Ms
veterán
Sziasztok!
Egy érdekes (és szerintem hibás) működést találtam a keresőfüggvényeknél (pl: FKERES)
Adott egy Excel 2007 magyar.
Egyik oszlopba példakép beírod a következőket: Alma, Tyúk, FecskeHa most összeállítasz egy FKERES-t erre az egyszerű táblára, akkor a különböző keresési értékeknél a következő eredmények lesznek:
Ha a keresési érték Alma, akkor megtalálja
Ha a keresési érték Tyúk, akkor megtalálja
Ha a keresési érték fecske, akkor megtalálja (mert alapból nem kisnagybetű érzékeny)
Ha a keresési érték fecSke, akkor NEM találja
Ha a keresési érték tYÚK, akkor NEM találjaRöviden, ha a magyar abc kettős betűit nem képes megtalálni, ha azokat úgy írod a keresésbe, hogy az első kicsi, a második meg nagybetű. (a kisnagyebtű érzéketlenség ellenére sem)
Mondhatnátok, hogy ilyen nincs is a magyar nyelvben. Ez igaz. De bárhol bármikor előfordulhat az Excel keresőfüggvények használata során (pl: a táblázatban vmiéle kódolt információ van)És érdekes, hogy ugyanez a működés van, amikor egyszerűen a 'keresés' (CTRL+F) funkciót használod.
-
Delila_1
veterán
válasz
m.zmrzlina #9544 üzenetére
Szívesen.
-
m.zmrzlina
senior tag
válasz
Delila_1 #9542 üzenetére
Ha nem is pont ebben a formában de úgy néz ki fog működni.
Sajnos a végleges helyére nem lehet közvetlenül menteni a listát, ezért először létrehozok egy új munkalapot, oda megy a beillesztés és ha a tartomány rendben akkor az átmeneti munkalap törlése után mehet a végleges helyre. Mindezt Screenupdating=False mellett igy a felhasználó csak a MsgBoxot látja, ha elszúrt valamit.
Köszönöm.
-
Delila_1
veterán
Az Else ág rövidebben:
Selection.Copy Range("F1")
Application.CutCopyMode = False -
Delila_1
veterán
válasz
m.zmrzlina #9541 üzenetére
Működik ez akkor is ha a kijelölt terület egy istentudjaholvan gépen futó excel97-ben van amit Remote Desktop-pal érek el?
Távoli gépet nem tudok produkálni, próbáld ki!
Átírtam a makrót úgy, hogy csak 1 oszlop, és max 100 sor kijelölésekor másoljon az F1-be.
Sub hiba()
If Selection.Rows.Count > 100 Or Selection.Columns.Count > 1 Then
MsgBox Selection.Rows.Count & " sort, és" & Chr(10) & _
Selection.Columns.Count & " oszopot jelöltél ki" & Chr(10) & "ejnye-bejnye"
Exit Sub
Else
Selection.Copy
Cells(1, 6).Select
ActiveSheet.Paste
Application.CutCopyMode = False
End If
End Sub -
m.zmrzlina
senior tag
válasz
Delila_1 #9540 üzenetére
A Selection.Address string formában megadja a kijelölt területet, pl. "$A$:$C$50"
Működik ez akkor is ha a kijelölt terület egy istentudjaholvan gépen futó excel97-ben van amit Remote Desktop-pal érek el?
Ezt felhasználhatod a nyomtatási terület megadásához, ha a hibakeresésen átment.
ActiveSheet.PageSetup.PrintArea = Selection.AddressÉn nem akarok nyomtatni, én csak be akarom illeszteni a vágólap tartalmát amit a távoli gépen jelöltem ki Ctrl+C-vel. (Meg persze levizsgálni a beillesztés előtt, hogy nem akar-e a júzer 20000 celát beilleszteni 100 helyett)
Bár ez nem illik a makródra, mert valószínűleg több oszlopnyi adatod függ egybe.
Pont ez a lényeg, hogy ha a beillesztendő tartomány több mint 1 oszlop széles az 100% hogy hiba
Ha az B4 alatt lévő adatok kellenek a nyomtatáshoz,
Ma itt ültem a gép előtt egész nap és lappy-n kívül ma senki nem akart nyomtatni többek közt én sem.
Köszi hogy bajlódsz a problémámmal.
-
Delila_1
veterán
válasz
m.zmrzlina #9539 üzenetére
A Selection.Address string formában megadja a kijelölt területet, pl. "$A$:$C$50"
Ezt felhasználhatod a nyomtatási terület megadásához, ha a hibakeresésen átment.
ActiveSheet.PageSetup.PrintArea = Selection.AddressA cells(4,2).Select után a
Selection.CurrentRegion.Select
sor kijelöli a cellával egybefüggő területet. Ezt beviheted egy változóba.
ter=Selection.AddressBár ez nem illik a makródra, mert valószínűleg több oszlopnyi adatod függ egybe.
Ha az B4 alatt lévő adatok kellenek a nyomtatáshoz, célszerű a kijelölése után a
Range(Selection, Selection.End(xlDown)).Select -vel kijelölni az oszlopot. -
Delila_1
veterán
válasz
m.zmrzlina #9537 üzenetére
Valahol biztosan lekérdezed a felhasználó kijelölését (selection.address), mert azt adod meg nyomtatási területnek. Az után tedd be.
-
Delila_1
veterán
válasz
m.zmrzlina #9535 üzenetére
A paste elé tedd, exit sub-bal.
-
m.zmrzlina
senior tag
válasz
Delila_1 #9534 üzenetére
Tettem a végére az End If elé egy Exit Sub-ot és betettem a
Selection.PasteSpecial Paste:=xlPasteAll
sor után.futtatáskor jön is a MsgBox de az OK-ra a beillesztés ennek ellenére megtörténik. Ha az említett sor elé teszem be akkor MsgBox nélkül megtörténik a beillesztés.
Hogy tudom rávenni a beillesztés előtti kilépésre?
-
Delila_1
veterán
válasz
m.zmrzlina #9533 üzenetére
Sub hiba()
If Selection.Rows.Count > 100 Or Selection.Columns.Count > 1 Then
MsgBox Selection.Rows.Count & " sort, és" & Chr(10) & _
Selection.Columns.Count & " oszopot jelöltél ki" & Chr(10) & "ejnye-bejnye"
End If
End SubKülön is veheted a túl sok sorra, és oszlopra vonatkozó figyelmeztetést.
-
m.zmrzlina
senior tag
A következő programrészlet egy 1 oszlop széles és kb 100 sor (változó) hosszú tartományt illeszt be vágólapról.
Cells(4, 2).Select
On Error Resume Next
Selection.PasteSpecial Paste:=xlPasteAll
If Err.Number <> 0 Then
MsgBox "A lista beillesztését a kijelöléssel kell kezdeni." + Chr(13) + Chr(13) + "Először végezd el a kijelölést!", vbCritical, "Hiba!!!"
Exit Sub
End IfA vágólapra másolást a felhasználónak kell elvégeznie ezt nem tudom megkerülni. Azt a felhasználói hibát szeretném kezelni, hogy ha tévedésből pl egy 1500x15 méretű tartományt jelöl ki akkor a makró ne végezze el a beillesztést hanem küldjön hibaüzenetet és lépjen ki.
Milyen technikák vannak erre?
-
válasz
Delila_1 #9530 üzenetére
"Akkor minek átmásolni a Sima lapra?"
Feltételezem azért, mert a másik lapon "pofásan" ki van alakítva, hogy hogy is nézzen ki a nyomtatvány.
(Mondjuk ilyen feladatokhoz semmiképp sem használnék(és sosem használtam) excel makrót, hanem word körlevélben létrehoznék egy szép törzsdokumentumot, az excel táblát(fejléccel) adatforrásként adnám meg és kész, lehet is nyomtatni, ha kell szűrve, ha bármi módosult az excel táblában azt frissíti, vagy kézzel katt a frissítés gombon stb stb.
Persze ezt elsősorban nem neked írom, hisz ezzel Te tisztában vagy...)
-
Delila_1
veterán
Akkor minek átmásolni a Sima lapra? A névsor lapról is kinyomtathatod egyenként.
Ez megmagyarázza, miért tetted a print utasítást a ciklusba.Sub nyomtat()
Sheets("névsor").Select
b = Cells(2, 1) + 1
For a = 2 To b
Range(Cells(a, 1), Cells(a, 2)).Select
ActiveSheet.PageSetup.PrintArea = Selection.Address
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Next a
Sheets("Sima").Select
MsgBox "A nyomtatás kész, ügyes vagy!!!"
Range("A2").Select
End Sub -
perfag
aktív tag
Ez a sorod:
Range(Cells(a, 1), Cells(a, 1)).Select
az A2 cellát választja ki. Ezt írd át, hogy arra a listatartományra mutasson, aminek "első oszlopában számozás van a második oszlopában nevek".(Elmerengtem, kicsit hogy miért is tetted ezt For-Next ciklusba, mit keres ebben a ciklusban a nyomtatás parancs ... de azt hiszem a nagyon gonosz gondolataimat inkább nem írom le.
Delila megelőzött. Jobb, ha nem is olvasd el amit írtam.)
-
Delila_1
veterán
Mit is kellene nyomtatni? Elláttam magyarázatokkal a makródat.
Sub nyomtat()
'A névsor lap A2 cellájának az értékét teszi a b változóba
b = Worksheets("névsor").Cells(2, 1).Value
b = b + 1 'növeli a b értékét
For a = 2 To b 'A névsor lapon a 2. sortól megy a ciklus b-ig
Sheets("névsor").Select 'bár a névsor lap az aktív, a ciklusban mindig
'kijelöli ugyanezt a lapot (?!)
Range(Cells(a, 1), Cells(a, 1)).Select 'rááll az a-adik cellára az A oszlopban
Selection.Copy 'másolja ezt a cellát
Sheets("Sima").Select 'átmegy a Sima lapra
Range("C3").Select 'beilleszti az előbb másoltat mindig ugyanoda, C3-ba
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False 'kijelölés megszüntetése
'nyomtatja a Sima lapról az előzően nyomtatási területként kijelölt tartományt
'itt az a szám látszik, amit a ciklusban utoljára a C3-ba írattál
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 Sub -
lappy
őstag
Sziasztok!
Egy kérdésem lenne!
Adott egy lista aminek első oszlopában számozás van a második oszlopában nevek.
A kis macro feldata az lenne hogy adott helyre illessze be a neveket, de csak a számozást
változtatja! Mit kell átírnom??
Sub nyomtat()
b = Worksheets("névsor").Cells(2, 1).Value
b = b + 1
For a = 2 To b
Sheets("névsor").Select
Range(Cells(a, 1), Cells(a, 1)).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 Sub -
Delila_1
veterán
-
válasz
m.zmrzlina #9520 üzenetére
Pedig jobb lenne megfogadni perfag javaslatát, mert az eddig befektetett sok munkádon túl, sok munkád lesz pluszban, amit a rossz koncepciónak, programfelépítésnek, megvalósításnak köszönhetsz majd..
(pl space-el kezdeni egy szót, és azt még fel is használni) -
-
perfag
aktív tag
válasz
Geryson #9517 üzenetére
Nem csak belekeveredtél, ezt másokkal is elhitetted, hogy képlettel kell.
Ha jól értem csak annyit akarsz, hogy nem akarod a nullát tartalmazó cellákat látni.
Ezt megteheted egy egyszerű cella formázással, pl. [=0]"";Normál
Ettől a cellában nulla van, csak nem látszik. A többi érték meg annak látszik ami. -
perfag
aktív tag
válasz
m.zmrzlina #9495 üzenetére
Nem akarok akadékoskodni, de szerintem a koncepcióddal van baj. A kép alapján mondom, ide nem InputBox kell. Egy későbbi hozzászólásodban látom gondolkodsz már saját UserForm-ban, de oda sem TextBox kellene, hanem lista, vagy lenyílós lista.
Azt látom, hogy technikusok nevét kell megadnod. A lista a gépelési hibalehetőségekből eredő ellenőrzést is feleslegessé teszi.
Ha a munkalapodon elfér oda is tehetnéd a listát, a nyomtatásból kiveszed, a listaváltozáshoz hozzákapcsolod a makródat, passz. -
Geryson
addikt
válasz
Fire/SOUL/CD #9515 üzenetére
Teljesen igaz, úgy beletekeredtem a saját táblázatomba, hogy már azt sem tudtam, hogy mi mire hivatkozik.
Úgy néz ki, hogy megoldottam azzal egy egyszerű dologgal, hogy az üres celláknál ha kritériumként ""-ot írok, akkor nézi, hogy van-e érték egy cellában, vagy nincs. Így néz most ki, és ugye az L4 vagy érték vagy üres. Azt hittem kritérium csak szám lehet.
=HA(L4="";I4+N3;N3+I4+L4)
Delila_1: Na, ilyet képletet sem láttam még, mindjárt elemzem egy picit.
-
Delila_1
veterán
válasz
Geryson #9514 üzenetére
Vegyük, hogy az =ha(k3="";"";k3*j3) képleted az F1 cellában van. Azt írod, hogy erre az F1-re hivatkozol egy másik cellában.
A képletet tartalmazó cellára így lehet hibaértéket kiküszöbölő módon hivatkozni:
=ha(hossz(f1)>0;f1*10;"")A képletet 0 hosszúságúnak értelmezi az Excel, ezért csak akkor végzi el a megadott műveletet, ha érték kerül a cellába.
-
-
Geryson
addikt
válasz
m.zmrzlina #9512 üzenetére
Az üres cellát hozza eredményül, nem jó.
bugizozi: persze, meglehetne, akár akkor másképp is, de nem akarok egy csomó nullát látni, ez lenne a lényege - csak ezt elfelejtettem leírni.
-
Geryson
addikt
Mesterek! Egy sima egyszerű függvénnyel megakadtam:
=HA(K3="";"";K3*J3)
Azaz ha egy cellába semmit nem írtam, akkor ne csináljon semmit, egyébként szorozzon egyet. A gondom az az, hogy ennek a cellának a végeredményére hivatkozik egy másik sima összeadásos cella (=I3+L3) és most #ÉRTÉK az eredmény és persze a teljes innen következő tábla összeomlik. Miért nem végzi az az összeadást, amikor nincs a forráscellában érték?
-
m.zmrzlina
senior tag
válasz
Fire/SOUL/CD #9496 üzenetére
Ami az Inputbox-t mint metódust illeti (második linked) nekem nem megfelelő ugyanazért amiért ez:#8953 meg ez:#9219. Úgy látszik engem üldöz ez a probléma
Az Inputbox mint függvény esetében kipróbáltam néhány dolgot de egyikkel sem sikerült szétválasztani a Cancel és az OK gombok működését.
Már saját Inputbox készítésén gondolkodtam (UserForm TextBox parancsgombok) amikor ezeket találtam:[link][link]
Noha úgy tűnik működik a dolog nekem
kicsitnagyon ingoványos ez a terület szóval ha valaki lát benne olyan buktatót amit én esetleg nem vettem észre az ne kíméljen. -
Cuci3
tag
válasz
Fire/SOUL/CD #9501 üzenetére
Mik nincsenek! Ez igazán értékes dolog. THX!
-
-
Delila_1
veterán
válasz
Fire/SOUL/CD #9504 üzenetére
Kiderült, hogy a szolgáltatómnál van a hiba. 17:50-kor megkaptam egy e-mailt, amit 9:22-kor küldtek nekem. Lassanként befutnak a hozzászólásokról az értesítések, az előbb kaptam meg a 9493-asról, ami 11:53-kor született. A Tiéd még várat magára.
Köszi, hogy felajánlottad a segítséget. -
Delila_1
veterán
válasz
Fire/SOUL/CD #9504 üzenetére
3 perce kaptam meg egy régebbi, 11:26-kor született hozzászólást, az idő 13:10 a levelezőmben – ami rendesen működik. A Te hozzászólásodról még nem kaptam értesítést.
Hol jelezzek, kinek? -
-
Delila_1
veterán
Ti kapjátok rendesen az értesítést az új hozzászólásokról?
Én most kaptam meg a 9495-ösről, ami 12:07-kor íródott, és nálam 12:45-ös idővel érkezett, 16:18-kor.
-
bugizozi
őstag
válasz
Fire/SOUL/CD #9501 üzenetére
óóóó, hálám üldözni fog
-
válasz
bugizozi #9498 üzenetére
VBA Editor/View/Toolbar/Edit bepipál, ekkor megjelenik egy eszköztár, amin (többek közt) található lesz egy Comment Block és Uncomment Block gyors gomb.
Írd be a kommentelni kívánt több sort, jelöld ki mindet, majd katt a Comment Block-on.
VBA-ban csak egysoros kommentelés létezik, ami vagy a már általad is említett ' karakter, avagy a REM.
Új hozzászólás Aktív témák
Hirdetés
- Nintendo Switch 2
- BestBuy ruhás topik
- Google Chrome
- Honda topik
- Milyen videókártyát?
- Samsung Galaxy Watch7 - kötelező kör
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Házi hangfal építés
- Vezetékes FÜLhallgatók
- További aktív témák...
- Eladó steam/ubisoft/EA/stb. kulcsok Bank/Revolut/Wise (EUR, USD, crypto OK)
- Sea of Thieves Premium Edition és Egyéb Játékkulcsok.
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Bitdefender Total Security 3év/3eszköz! - Tökéletes védelem, Most kedvező áron!
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- NJOY Aster 3K 3000VA/2700W Rack Szünetmentes Táp
- Bomba ár! Lenovo ThinkPad L390 - i7-8GEN I 8GB I 256SSD I 13,3" HD I HDMI I Cam I W11 I Gari!
- Telefon felvásárlás!! iPhone X/iPhone Xs/iPhone XR/iPhone Xs Max
- BESZÁMÍTÁS! MSI B550 R7 5700X 32GB DDR4 500GB SSD RTX 3070 8GB ZALMAN Z1 Plus Be quiet! 650W
- Azonnali készpénzes Apple Macbook Air felvásárlás személyesen / csomagküldéssel korrekt áron
Állásajánlatok
Cég: Liszt Ferenc Zeneművészeti Egyetem
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest