Hirdetés
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Hadeska22: MSI Creator Z16 - szomorú konklúzió
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Elektromos rásegítésű kerékpárok
- gban: Ingyen kellene, de tegnapra
- Magga: PLEX: multimédia az egész lakásban
- sziku69: Szólánc.
- ldave: New Game Blitz - 2025
- hcl: Kelj fel komám, ne aludjál
Aktív témák
-
picsu
csendes tag
Valaki please help!
Ezt a hosszú sort lelehet valahogy rövidíteni?
Workbooks(cel).Sheets(1).Cells(fajllistaindex + 5, 10) =
Workbooks(forras).Sheets(1).Cells(3, 15) + Workbooks(forras).Sheets(1).Cells(4, 15) + Workbooks(forras).Sheets(1).Cells(5, 15) + Workbooks(forras).Sheets(1).Cells(6, 15) + Workbooks(forras).Sheets(1).Cells(7, 15) + Workbooks(forras).Sheets(1).Cells(8, 15) + Workbooks(forras).Sheets(1).Cells(9, 15) + Workbooks(forras).Sheets(1).Cells(10, 15) + Workbooks(forras).Sheets(1).Cells(11, 15) + Workbooks(forras).Sheets(1).Cells(12, 15) + Workbooks(forras).Sheets(1).Cells(13, 15) + Workbooks(forras).Sheets(1).Cells(14, 15) + Workbooks(forras).Sheets(1).Cells(15, 15) + Workbooks(forras).Sheets(1).Cells(16, 15)
Előre is köszönöm.Picsu -
lapa
veterán
válasz
matekmatika #198 üzenetére
igen, bocs ezt beírhattam volna. a másodikban egyszer kell csak megmondani neki melyik munkalap, utána bárhol használhatod a rövid nevet, nem csak with - end with között. ha van időd olvasgatni volt egy ilyen korábban: [link] a feladat az volt, hogy random számok tartományából válasszuk ki a második legnagyobbat. vb editorban megnyitva nézd végig butától szuperig, van benne pár hasznos...
-
lapa
veterán
válasz
matekmatika #193 üzenetére
mondjuk aktuálisan nem feltétlenül rövidebb, de elegánsabb:
Sub agentx()
With ActiveWorkbook.Sheets(''Sheet1'')
.Cells(.Cells(1, 2).Value, .Cells(2, 1).Value) = .Cells(1, 1).Value
End With
End Sub
'---
Option Explicit
Sub agenty()
Dim shitegy As Worksheet
Set shitegy = ActiveWorkbook.Sheets(''Sheet1'')
shitegy.Cells(shitegy.Cells(1, 2).Value, shitegy.Cells(2, 1).Value) = shitegy.Cells(1, 1).Value
End Sub -
lapa
veterán
válasz
matekmatika #195 üzenetére
de csak ha abbahagyod a paralell taskingot (úgyértem a linkelést)...
ha van még valami akkor ott folytassuk inkább ha a feladat is ott van.
-
matekmatika
tag
Probléma problémát szül. Lehet még egy kérdésem?
[link]
-
matekmatika
tag
[Szerkesztve] -
matekmatika
tag
Köszi szépen, így jó, igaz egy kilóméter hosszú lett, de jó
.
ActiveWorkbook.Sheets(''Adatok'').Cells(ActiveWorkbook.Sheets(''Adatok'').Cells(14,3).Value, ActiveWorkbook.Sheets(''Adatok'').Cells(16,5).Value) = ActiveWorkbook.Sheets(''Adatok'').Cells(22,5).Value
[Szerkesztve] -
perfag
aktív tag
Most járok itt először, elképzelhető, hogy megoldódott közben a problémád, akkor vedd úgy nem szóltam. Ha mégsem,
> Abszolut fogalmam sincs a makrokról. De azt mondták a makro megoldja a poblémám.
A makró megoldja, de Te hogy fogod alkalmazni amit küldök? Mindegy, a Te dolgod.
Ez itt A megoldás:
> A táblázatok részeit képez egy-egy sorozatszám.
> Ezt a sorozatszámot szeretnm úgy megoldani hogy nyomtatáskor automatikúsan emelkedjenek.
A munkafüzet VBA lapján a ThisWorkbook-hoz beilleszted ezt a makrót
Private Sub Workbook_BeforePrint(Cancel As Boolean)
With Worksheets(''n'').Range(''B2'')
.Value = .Value + 1
End With
End Sub
Amit át kell írnod sajátra:
Worksheets(''n'').Range(''B2'')
n - a munkalap veve
B2 - a számláló cella címe
A nevéből következik, hogy ez az esemény az aktus előtt következik be, tehát ha azt szeretnéd, hogy az első lapra 1-et nyomjon, akkor a számláló cellába (B2) 0 -t írj.
Ezt is tudja:
> Nyomtatás befejezésekor megjegyezze az útolsó számokat és a következő nyomtatáskor folytassa tovább.
Csak menteni kell az utolsó nyomtatás után.
> Ha valaki tudna nekem segiteni nagyon megköszönném mert nagyon megkönnyitené az életem. Előre is köszönöm!
Köszönjed is.
csüssz. -
lapa
veterán
válasz
matekmatika #190 üzenetére
Cells(Cells(14, 3).Value, Cells(16, 5).Value) = Cells(22, 5).value
egyébként meg minden cells-et egészíts ki:
activeworkbook.sheets(''egyik'').cells(.....
és akkor menni fog szerintem. akkor selectelni se kell a lapokat, drága a processzoridő... -
matekmatika
tag
válasz
matekmatika #189 üzenetére
Pedig ennél jobbat nem tudok kitalálni, bárhogy is próbálkozom, hasonlítgatom itt több példaprogrammal. Ennek tökéletesnek kellene lennie, mégsem müxik. Saját munkalapon tökéletes, de másik munkalapról nem tudom elindítani
-
matekmatika
tag
Próbálkoztam ilyennel:
Private Sub CommandButton1_Click()
Sheets(''gépek'').Select
Cells(Cells(14, 3).Value, Cells(16, 5).Value) = Cells(22, 5)
End Sub
ahol a ''gépek'' a másik munkalap neve, de hibaüzenettel leáll:
Run-time error '1004':
Application-defined or object-defined error. -
matekmatika
tag
Köszi szépen, erre gondoltam. A végén az ''új adat'' helyére beraktam a Cells(22, 5)-t vagyis a beviteli mező '' LinkedCell''-jét (hogy hivatott ezt mondani magyarul?). És jól is működik, csak egy baj van vele. Biztos nagyon amatőr kérdés, de ez csak akkor jó a ha a parancsgomb is ezen a munkalapon van. Márpedig nekem egy másik munkalapon van, hogy lehet ezt kiegészíteni úgy hogy amit csinál, azt egy meghatározott (másik) munkalapon tegye.
Köszi szépen. -
lapa
veterán
válasz
matekmatika #186 üzenetére
szerintem nem kell lefordítani r1c1 hivatkozásra, elég lenne így is:
cells(cells(14,3).value,cells(16,5).value)=''új adat''
remélem ez volt a kérdés. -
matekmatika
tag
Hát nem tudom, és akkor mi lesz a rossz gép adataival, amit törölni kellene. Meg így rohamosan meghízna a táblázat.
Amit végül is szeretnék, abszolut leegyszerűsítve: Adott egy adat egy cellában, ezt az adatot valahogyan be kellene íratni - egy parancsgomb megnyomásával - abba a cellába, amelynek a hivatkozási helyét szintén tartalmazza egy cella.
Az eredeti munkafüzet most benn van a cégnél, de készítettem valami lényegében ahhoz hasonló, persze ez sokkal egyszerűbb. Gép is több van, azok csoportok szerint vannak rendezve, és általában adat is 3 van hozzárendelve minden géphez. De a lényeget jól mutatja ez is.
A főoldalon választókapcsoló segítségével kiválasztom melyik gépről van szó (a kapcsolók linkedCell-jei a gépek munkalapon van. Illetve szintén a főoldalon kiválasztom hogy milyen alkatrészének a milyét szeretném megváltoztatni.(leltáriszám, vagy gyáriszám). A gépek munkalapon, ezek adatok alapján az E20-as cellába meghatározom azt a cellahivatkozást, ahol az adatot módosítani szeretném.
Azt az adatot amire módositani szeretném a cella tartalmát a főlapon egy beviteli mezőbe írtam, LinkedCell-jét az egyszerűség kedvéért szintén a gépek munkalapra raktam a kikeresett cellahivatkozás alá.
Szóval ott van, adott a beírni való adat, és egy hivatkozás ahová való lenne. De hogyan?
[link]
hopp a parancsgombot lehagytam, de a lényeg látható a táblázaton igy is
[Szerkesztve] -
lapa
veterán
válasz
matekmatika #184 üzenetére
hát sokszor elolvastam és próbálom felfogni... nem lehetne úgy megoldani, hogy egy plusz oszlopot teszel bele a gépek adataihoz, ami 0 vagy 1 attól függően, hogy a gép ''aktív''-e vagy sem? akkor elég lenne mindig egy új sorba írogatni az új gépeket. vagy rosszul gondolom?
-
matekmatika
tag
Bátor? Nem én csináltam, hanem a makrorögzítő
Szóval, megpróbálom még érthetőbben. Van egy munkalap amelyen gépek gyári számai, leltári számai, stb. szerepelnek. Az elrendezés most lényegtelen.Illetve van egy másik munkalap, ami végül is a munkafüzet főlapja. Itt tudom kiválasztani különböző kategóriák szerint a már említett másik munkalap éppen aktuális cellaadatait. (Pl. csak valamelyik géptipus összes darabját, persze a már említett számokkal, vagy egyébb szűrés szerint (pl.adott csarnokban milyen gépek vannak) stb. Ez már kész van és tökéletesen működik. A probléma ott kezdődik, hogy ha valamelyik gép elromlik és le kell cserélni másikra. Ekkor ugye megváltozik az adott helyen levő gép minden adata.
Ezt látszólag egyszerűen meg lehetne oldani mondjuk a ctrl+h (keresés-csere) kombinációval, csak azért nem kivitelezhető, mert több olyan gép is van amelyiknek eredetileg sincs pl. gyári száma. Ezek nálam a táblázatban ''0''-t kaptak. Na mármost ha egy olyan gép kerül a rossz helyére amelyiknek van olyan adata, ami az előtte lévő meghibásodottnak nem volt, akkor ezzel a ctrl+h kombinációval az összes olyan cellát felülírom amelyikben ''0'' volt. Na meg persze kicsit fapados is lenne így csinálni.
Ezt úgy próbálom megoldani, hogy a főlapon választókapcsolókkal, ill. legördülőlista segítségével, létrehozok egy cellahivatkozást, amely pont arra a cellára mutat amelyben az adatot ki szeretném cserélni. Ez is meg van. A példában ez lenne az ''AF2''. Ezenkívűl szintén a főlapon egy beviteli mezőbe kell beírni azt az adatot amelyre ki szeretném cserélni a régit. Ez lehet bonyolultnak tűnik, de csak két kattintás + beírom az adatot. Na itt akadtam el. Adva van a cellahivatkozás is, és az adat is, de nem tudom hogyan íródjon be. Makrorögzítővel vágólapra tettem a cellahivatkozást, átmentem a másik munkalapra, ahol a gépek adatai vannak, a NÉV mezőbe ctrl+v majd ENTER, így kijejöldött a cella amelyiket módosítani szeretném, vissza a főmunkalapra, a beviteli mezőbe beírt adatot kijelöl, majd ctrl+c, vissza a géplistás munkalapra, ctrl+v és ENTER.
A parnacsgombhoz pedig hozzáadtam ezt az elkészített makrót. Ezt copyztam be az előző hozzászólásomban. De nem jó mert hibaüzenettel leáll.
Remélem így már kicsit érthetőbb voltam -
lapa
veterán
válasz
matekmatika #182 üzenetére
nem igazán értem hogyan jutsz el idáig. részleteznéd mit szeretnél? hátha van vmi egyszerűbb megoldás. btw: hátulról a 3. sor elég bátor...
-
matekmatika
tag
Sziasztok!
Megint segítségre lenne szükségem. Adva van egy cella (jelen esetben a B33), amelyben egy cellahivatkozás jelenik meg, különböző függvények segítsége révén, pl.: ''AF2''. Hogyan tudnám megcsinálni, hogy egy másik munkalapon, egy beviteli mezőbe beírt értéket, a fentebb említett cellahivatkozás szerinti helyre (AF2) íródjon?
Makróval próbáltam már megcsinálni, amit aztán egy parancsgombhoz rendeltem, de hibaüzenettel leáll:
''Private Sub CommandButton1_Click()
Range(''B33'').Select
Application.CutCopyMode = False
Selection.Copy
Application.Goto Reference:=''R1C32''
Sheets(''GÉPLELTÁR'').Select
Application.CutCopyMode = False
Sheets(''Nenyúljehhez'').Select
ActiveCell.FormulaR1C1 = ''0''
Range(''AF2'').Select
End Sub
Segítségeteket előre is köszönöm. -
matekmatika
tag
válasz
matekmatika #180 üzenetére
Igaz 4 órámba telt, de megvan.
Erre gondoltam:
Sub Rögzítés1()
'
' Rögzítés1 Makro
' Rögzítette: matekmatika, dátum: 2006.03.10.
'
' Billentyűparancs: Ctrl+t
'
Range(''A176 : B187'').Select
Selection.Replace What:=Cells(190,1), Replacement:=Cells(190,2), LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
End Sub
[Szerkesztve] -
matekmatika
tag
Hogyan tudok a Ctrl+h, azaz a csere párbeszédablakban a ''mit keres'' és a ''mire cseréli'' helyekre cellahivatkozást írni? (Office2000)
Vagy, ha simán értékek beírásával elkészítem a makrót, azt szerkesztve hogyan tudom elérni, hogy a beírt érték helyett egy cella értéke legyen a ''mit keres'' és a ''mire cseréli'' értékek.
[Szerkesztve] -
lapa
veterán
válasz
matekmatika #177 üzenetére
kijelöl majd ctrl + h
előtte fent jobb gomb --> visual basic eszköztár kijelöl --> record gomb
[Szerkesztve] -
matekmatika
tag
Sziasztok! Egy Excel táblázaton dolgozok, végül is speciális leltár-nyilvántartó valamicsoda lenne. Több munkalap, hivatkozások egyikről a másikra. A következőt szeretném. Adva lenne egy beviteli mező amelybe be kell adni a változtani kívánt értéket, és mellette egy másik beviteli mező, ahová az kerülne, hogy milyen értékre szeretném változtani.(nem feltétlenül csak számérték, hanem esetenként szöveg is). Majd (mondjuk egy parancsgomb megnyomásának segítségével) egy adott munkalap adott tartományán lefuttatna egy vizsgálatot és ahol előfordul a változtatni kívánt érték, ott azt lecserélné a kívánt értékre. Segítsetek legyetek szívesek, hogyan tudnám ezt elkészíeni. Köszi!
-
lapa
veterán
hát elég érdekesen hivatkozod meg a cellákat. valahogy így kéne:
pl. B1 cella: cells(1,2)
A4: B5 tartomány: range(cells(4,1),cells(5,2))
tehát az eleje kábé:
sub ize()
...
for x = 120 to 130
if cells(x,2) = 1 then
...
else
...
end if
...
next x
a többit egyelőre nem látom át, ha átdolgoztad ez alapján akkor megnézzük azt is...
[Szerkesztve] -
Bailil
csendes tag
sziasztok
egy kis problémám akadt egy makróval tudnátok segiteni? a probléma a következő az if -nél csak egyszer birja megnézni, hogy egy cella értéke 1 -e, a rákövetkezőnél már ''empty''-t lát pedig ott is 1 van. Mi lehet a baj? A feladat amit csinál: egy munkalapról azokat a D-F cellákat másolja át, amelyeknek a ''B'' cellájában 1 van. Ime a kód:
Sub masol()
Dim Cella, Nev, Psor, Sor, Temp
Dim I As Integer
Sor = Empty
Sheets(''Adatok'').Select
For I = 120 To 130 Step 1
Cella = ''B'' & I
If Range(Cella).Value = ''1'' Then
Sor = Sor + 1
Nev = '' ''
Nev = ''D'' & I & '':'' & ''F'' & I
Range(Nev).Select
Selection.Copy
Temp = Sor + 7
Postasor = ''D'' & Temp
Sheets(''Konyv'').Select
Range(Psor).Select
ActiveSheet.Paste
End If
Next I
End Sub
Előre is köszi,
Bailil -
alexnowan
aktív tag
OKok!
Igazságod van lusta voltam és rövidítettem....
Szóval a ''tábla'' amiben linket kell cserélni valójában 15 sheet és sheetenként kb 30 cella van. Nem akartam túlragozni, azt gondoltam majd megoldom hogy minden sheeten működjön.....(tényleg lehet egyáltalán másképp, úgyértem hogy csak pl 2 sheet módosuljon a 15-ből....á ezt biztos nem, de nem is kell.)
Szóval mindenféleképp a gombos megoldás kéne.
Meg csini is -
lapa
veterán
válasz
alexnowan #172 üzenetére
ha csak a fájl neve tartalmazza a hónapokat, akkor makrózni sem kell (és ha még nem csináltad talán nem erőltetném).
a céltáblában minden hivatkozásos (''linkes'') cellát kijelöl --> ctrl + h (=csere) --> mit: január --> mire: február
ha csinizni szeretnéd szólj és leírom röviden hogyan működne gombbal... -
alexnowan
aktív tag
Hi!
Hátha itt tud valaki segíteni.
Nem tudom hogy makró kéne-e hozzá vagy valami más, de ez a gond:
Van 12 (jan,feb,...) forráskönyvtár mindegyikben kb 50 tábla.
Van egy lap amire a ezen táblák adatai be vannak kötve (azonos könyvtárból mind)
A lapon mondjuk az A:1 cella most ''január'' ha átírom februárra, automatikusan váltsa át a linkeket.
Tehát lincsere kéne, gombnyomásra. Lehet ilyet?
Előrebocsátom hogy még életemben nem írtam makrót, ehhez mérten kérném leírni a megvalósítás módját....
[Szerkesztve] -
picsu
csendes tag
Lapa!
Én is ebből indultam ki, hogy minden megfelel a programban csak az irányt kellene megváltoztatni. Nem ki hanem befele mennének az adatok....
Namost az, hogy most fordított a (forras) meg fordított a (cel) az nem jelenthet problémát?Hagyhatom így ahogy van? Vagy ahogy írtad fordítva legyen az egyenletben?
Workbooks(forras).Sheets(1).Cells(1, 1) = ''ezaaegyescella'' --> ez az ezaaegyescella mit takar?
Akkor írhatom így?:
Workbooks(forras).Sheets(1).Cells(1, 1) = Workbooks(cel).Sheets(1).Cells(1, 1)
Hmmmm?
Köszönöm segítséged előre is....
Üdv.Picsu -
picsu
csendes tag
Hát be kell valjjam nem megy ez nekem.....
A kiszedés működik ahogy megcsináltad de a fordítottja nem....
Mindig olyan verziót tudtam csak csinálni ahol a cél pont a forrás volt....
Lapa ne légy kegyetlen....
Sub export()
Dim elso, masodik, harmadik, negyedik, otodik, hatodik, hetedik As String
Dim fold As FileDialog
Dim foldrv As Variant
Dim fso As Object
Dim fajllista As FileSearch
Dim fajllistaindex As Long
Dim forras, cel As String
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
cel = ActiveWindow.Caption
Set fold = Application.FileDialog(msoFileDialogFolderPicker)
With fold
If .Show = -1 Then
foldrv = .SelectedItems(1)
Else
Exit Sub
End If
End With
Set fajllista = Application.FileSearch
With fajllista
.NewSearch
.LookIn = foldrv
.Filename = ''*.xls''
.SearchSubFolders = False
If .Execute > 0 Then
For fajllistaindex = 1 To .FoundFiles.Count
'MsgBox .FoundFiles(fajllistaindex)
Workbooks.Open Filename:=.FoundFiles(fajllistaindex)
forras = ActiveWindow.Caption
'
With Workbooks(forras).Sheets(1)
Workbooks(cel).Sheets(1).Cells(fajllistaindex + 5, 1) = Workbooks(forras).Sheets(1).Cells(3, 2)
End With
'(fajllistaindex, 1) = workbooks(
Application.DisplayAlerts = False
Workbooks(forras).Close, savechanges = true
Application.DisplayAlerts = True
'''=[Book1.xls]Sheet1!R1C1''
'''=['' & .FoundFiles(fajllistaindex) & ''Sheet1!R1C1''
Next fajllistaindex
End If
End With
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Application.Calculate
MsgBox ''Na ez is megvan mégsincs este... Összesen '' & fajllistaindex & '' fájlból importáltunk adatokat.'', vbInformation + vbOKOnly, ''Komisszióadatok importálása befejeződött''
End Sub -
lapa
veterán
nem tudom mi olyan bonyolult ebben. már a múltkor is sikerült megküzdened vele. itt ugyanúgy kell eljárni azzal a különbséggel, hogy nem a céltáblába (amiben a makró van) raksz bele valamit a MAKRÓ ÁLTAL megnyitott fájlokból, hanem az éppen megnyitott fájlba írsz bele valamit, majd bezárod. annyi a különbség az előzőhöz képest, hogy a ''workbooks(???).close, savechanges:=true'' sor kell bele asszem. de ezt makrorögzítővel le tudod lesni. szmájlik helyett sztem olvasd el újra az ottani dolgot, meg nézd meg a makrót.
-
shev7
veterán
[link] Ezzel a peldaprogrammal konnyen boldogulhatsz, csak vedd ki a felesleges reszeket (pl a sorbarendezes em kell neked) Ha megkapod a fileok listajat, akkor egyesevel megnyitod oket, es vegrehajtod a szukseges valtoztatasokat. (ne felejtsd el bezarni, mert 700 nyitott filelal a win nehezen fog boldogulni. Azt, hogy hogy tudsz file-t megnyitni bezarni a legkonnyebben ugy tudod meg, hogy rogzitesz egy makrot.
-
picsu
csendes tag
Sziasztok!
Nekem szerintem egy eCCerű gondom van, tuti tudtok nekem megoldást...
Azt szeretném, hogy egy könyvtárban levő excel file-okon egy makrót hajtson végre.
A lényeg, hogy ne kelljen minden táblát megnyitni...mert 700 táblán nem szeretném egyenként lefuttatni a makrómat....
Szóval mondjuk ha mindegyik táblába azt szeretném, hogy egy ''M'' betűt rakjon be mondjuk az A1-es cellába azt hogyan tudom????
Várom a válaszotokat....
Üdv.Picsu -
OldClemy
csendes tag
hali all... a bajom a következő : van egy oszlopom '' A1-A50 '' amiben az értékek 200 és 500 kevert összege / 200,400,500,600,..1100 stb/ meg kell határoznom a melette '' B '' 500 és '' C '' 200 oszlopban a hogy mennyi 200 és mennyi 500 van az adott sorban...thx
a megoldást ha nem gond emailben pls...Old
[Szerkesztve] -
lapa
veterán
1. egy excelben feltöltöd az A oszlopot 1-től 2400-ig.
2. elmented txt fájlként --> exceltől elbúcsúzik, bezár
3. wördben a menügombok mellett jobb gomb --> körlevél eszköztár kiválaszt
4. körlevél eszköztáron ''új adatforrás'' --> txt fájl megmutat --> küzd egy darabig + aktiválódnak a gombok az eszköztáron
5. ''??? mező beszúrása'' (insert merge field) --> M_1 kiválaszt --> << M_1 >>
6. ''egyesítés új doksiba'' gomb --> mindent
7. kész -
rdi
veterán
és milyen számra lenne szükséged? Egyoldalasok a nyomtatványok?
Mert ha egyoldalasok, akkor pl: 2006/#oldalszám
vagy 2006/<oldalszám>
bár most utánaolvasva, csak kellen egy mező, amiben benne vannak a számok 1-től 2400 -ig, mert meg kell jegyezni az utolsó számot, majd azt folytatni.
Acces pl...
[Szerkesztve] -
Leti
csendes tag
Sziasztok!
Egy nagy segit szeretnék kérni. Abszolut fogalmam sincs a makrokról. De azt mondták a makro megoldja a poblémám. Excel táblázatom A4-es méretű felezve van alúl felűl ugyan az. A táblázatok részeit képez egy-egy sorozatszám. Ezeket a sorozat számokat szeretnm úgy megoldani hogy nyomtatáskor autó matikúsan emelkedjenek. Nyomtatás befejezésekor megjegyezze az útolsó számokat és a következő nyomtatáskor folytassa tovább. Ha valaki tudna nekem segiteni nagyon megköszönném mert nagyon megkönnyitené az életem.
Előre is köszönöm!
Leti -
lapa
veterán
nemistudom. a wördben van körlevél funkció, ha ez vmi lényeges elem és vmi űrlapról van szó képletek nélkül akkor lehet ott táblát csinálni. listaforrásnak meg lehet adni excel fájlt is.
excelben is lehet barkácsolni, de ott szakszerűen legfeljebb fejléc-lábléc moddolható korlátozott formában, meg pivotban az egyes elemek.
jobb híján a workbookbeforeprint eventet kéne használni, de ott varázsolni kell még vmi class modullal is, egyelőre nem jött össze a dolog. ha sikerül bedobom. -
Leti
csendes tag
Sziasztok!
Egy nagy segit szeretnék kérni. Abszolut fogalmam sincs a makrokról. De azt mondták a makro megoldja a poblémám. Excel táblázatom A4-es méretű felezve van alúl felűl ugyan az. A táblázatok részeit képez egy-egy sorozatszám. Ezeket a sorozat számokat szeretnm úgy megoldani hogy nyomtatáskor autó matikúsan emelkedjenek. Nyomtatás befejezésekor megjegyezze az útolsó számokat és a következő nyomtatáskor folytassa tovább. Ha valaki tudna nekem segiteni nagyon megköszönném mert nagyon megkönnyitené az életem.
Előre is köszönöm!
Leti -
lordring
aktív tag
Sziasztok!
A következő makrós képletet hogyan lehet úgy átalakítani, hogy ne az egész részt vegye, hanem egészre kerekítsen?
('kerek' függvény).
Cells(i, 4) = Int(Cells(i, 4)) ez működik, de nem kerekít, hanem csonkol.
Cells(i, 4) = kerek((Cells(i, 4);0) ezt nem fogadja el . -
KMan
őstag
Ha valakinek van barmilyen helpje VBA Excel makróhoz, legyen az ppt, pdf, vagy akármi, kezdo, halado, akar profi szinten, szivesen varom oket mailen, vagy termeszetesen itt, hogy segithessen masoknak is!
kman@freemail.hu
Köszi! -
lapa
veterán
no én meg a vaktyúk:
Sub getdate()
Dim cn As ADODB.Connection
Dim sql As String
Dim rs As ADODB.Recordset
Set cn = New ADODB.Connection
cn.Open ''DSN=dsn;UID=juzer;PWD=pass''
Set rs = New Recordset
sql = ''SELECT mezo FROM tabla WHERE pk = 'PK'''
rs.Open sql, cn
If rs.EOF = False Then
MsgBox rs(0)
Else
MsgBox ''nemvan ilyen pk''
End If
cn.Close
Set cn = Nothing
End Sub
ja, be kell pippantani hozzá a vba tools --> references --> ms activex data objects 2.5-öt.
[Szerkesztve] -
lapa
veterán
üdv. van valakinek vmi egyszerű mintája oracle lekérdezéshez? nem nagyon szeretnék spílerkedni mindenféle bonyolult kódokkal, de eddig csak rettentő hosszúakat találtam.
ami egyelőre a legegyszerűbben néz ki:
<pre>Sub openconn()
' Open the connection with Oracle ODBC.
Set conn = New ADODB.Connection
conn .ConnectionString = _
''Driver={Microsoft ODBC for Oracle};UID=juzer;PWD=pass''
conn .Open
'now put the query data into a recordset
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.Open ''Put Table Name Here'', conn, adOpenDynamic, adLockOptimistic, adCmdTable
Set rs = myconn.Execute(''SELECT * FROM DatabaseName where bla bla bla'', , adCmdText)
conn.Close
End Sub
</pre><p>
ezzel pl. az a bajom, hogy sehol nem adta meg emberünk az adatforrás nevét. odáig megvagyok, hogy queryben ODBC-vel lekérek egy mezőt a táblából és azt bepottyantja a megadott helyre.
nekem most viszont ''update tabla set mezo = 'valami' where tabla_pk = 'pk' '' kéne. tőlem jöhet vbs is vagy bármi ami segíthet. a queryben lefut execute-ként, de a makrórögzítő nem menti el. találtam valami homályosat, hogy elméletileg menthető a dolog queryben, de nem jött össze. mondom mindegy hogy, csak valahogy futtatni tudjam a fenti parancsot 'pk' megadásával.</p>
[Szerkesztve] -
lapa
veterán
válasz
kraftxld #132 üzenetére
nekem még működő példányt nem sikerült csinálnom maradjunk ennyiben. elvileg egy általad készített külön menüsor megjelenítése-elrejtése szabályozható makróból. a gombok amikhez gondolom most a makrót rendelted önmagukban nem. legalábbis én így tudom.
esetleg rakj a munkapalra gombokat (pl. első sort tele) és akkor azok nem vesznek el. -
kraftxld
félisten
Köszi, hogy foglalkozol a dologgal
Közben kicsit pontosabban rájöttem a hibára.
Tehát nem az a gondom, hogy a makrók nem működnek, hanem ha kirakom a makrókat mint nyomógombok mindig az eredeti file-ra hivatkozik.
Tehát ha van mondjuk c:\x\alap606.xls, és ezt megnyitva megcsinálom az összes makró nyomógombját, a file-t áthelyezve, átnevezve a gombok nem működnek. Ezt hogyan lehetne megoldani? -
lapa
veterán
válasz
kraftxld #128 üzenetére
szerintem cserélj ki minden ilyet:
Sheets(''KTVLISTA'').Select
Rows(''6:6'').Select
Selection.Copy
Sheets(''ONU'').Select
ActiveSheet.Paste
ilyenre és mennie kell. talán az activeworkbook hiányzik neki nemtom.
ActiveWorkbook.Sheets(''KTVLISTA'').Rows(6).Copy(ActiveWorkbook.Sheets(''ONU'').Rows(1)) -
kraftxld
félisten
Nekem is lenne egy kérdésem. Elég egyszerű probléma, bár nekem nem igazán sikerült
Adott egy táblázat 2 munkalappal.
Az első munkalapon (mondjuk ''Forrás'' a neve) vannak az alapadatok, és egy megadott gomb megnyomására amit én készítek el, a Forrás munkalapról egy teljes sort (ezt is én határozom meg a makróban) átmásol a másik munkalapra az aktuális sorba.
Szépen meg is csináltam, de a file átnevezésekor, valamint átmásolásakor teljesen meghülyült. Mitől lehet ez? -
picsu
csendes tag
Lapa!
Tökéletes lett!!
Működik a szummázás! Nagyon örülök...
Mostmár csak az nem megy, hogy az 5. sorban kezdje a beírást.
Ez van:
Workbooks(cel).Sheets(1).Cells(fajllistaindex, 1) = Workbooks(forras).Sheets(1).Cells(3, 2)
Ezt írtam helyette:
Workbooks(cel).Sheets(1).Cells(5,1) = Workbooks(forras).Sheets(1).Cells(3, 2)
De nem müxik.. -
lapa
veterán
így nekem sem sikerült, ahogy a legelején írtam is. mondom ne szenvedj vele szerintem.
esetleg egy ilyen sor helyett: Workbooks(cel).Sheets(1).Cells(fajllistaindex, 1) = Workbooks(forras).Sheets(1).Cells(1, 1)
írhatsz:
with Workbooks(forras).Sheets(1)
Workbooks(cel).Sheets(1).Cells(fajllistaindex, 1) = .Cells(3, 11) + .cells(4, 11) + .cells(5,11).... + .cells(16,11)
end with
még talán ez a szimplibb... -
picsu
csendes tag
Lapa!
Na ez az elhelyezéses dolgo menni fog úgy néz ki...
Viszont ez a szummázós dolgog nagyon kellene...Sajnos..
Kreáltam valamit de nem megy...megnéznéd?
Workbooks(cel).Sheets(1).Cells(fajllistaindex, 3) = ''=SUM (Workbooks(forras).Sheets(1)(R3C1116C11)''
a bólógatós az : R
[Szerkesztve] -
-
picsu
csendes tag
Lapa!
Felraktam egy új excelt és most működik!!
Azt írja:
Köszönjük, hogy minket választott!
Készen vagyunk. Összesen x fájlból importáltunk adatokat
Szupeeerrrr...
Na megvannak az adatok...
Egy utolsó kérdés! Ha olyan kellene, hogy egy szummát hozzon át, az is megy?
Pl: A1-A12-ig szumma..
[Szerkesztve] -
picsu
csendes tag
Szia Lapa!
Nagyon rendes vagy, hogy próbáltál segíteni....
Elvileg ha adatot akarok átvinni külső excel táblából az megy, csak az a baj, hogy mindet meg kell nyitogatni....
Ezzel van bajom ezzel a külső táblából való adatkivétellel...
Na még azért próbálkozom....
Valaki esetleg mégnem jutott messzebb.....
Utálok segítséget kérni...de most nagyon kellene
Aktív témák
- Thinkpad X13 Gen4 13.3" FHD+ IPS i7-1365U 16GB 512GB NVMe ujjlolv gar
- Lenovo ThinkBook 14 i5-1135G7 16gb ram 512 SSD FHD IPS
- BOMBA ÁR! új Hp Envy x360 garanciával! /2in1/Ryzen5-5500U/8GB/512 SSD/FHD/TOUCH/GARI
- XPS 9310 13.4" FHD+ IPS i7-1185G7 16GB 512GB NVMe ujjlolv IR kam gar
- Alku képes: HEDT "High-End Desktop" Ryzen Threadripper 1920X 24 thread 12 core Quad Channel memória
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X3D 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
- DELL PowerEdge R740 rack szerver - 2xGold 6130 (16c/32t, 2.1/3.7GHz), 64GB RAM, 10Gbit HBA330, áfás
- BESZÁMÍTÁS! Gigabyte Aorus B450 R7 5700X 16GB DDR4 512GB SSD RTX 3060Ti 8GB ZALMAN I3 NEO 650W
- HIBÁTLAN iPhone 13 mini 128GB Starlight -1 ÉV GARANCIA - Kártyafüggetlen, MS3334, 94% Akkumulátor
- iKing.Hu - Apple iPhone 15 Plus Black Használt, karcmentes 256 GB tárhely 3 hónap garancia!
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest