- Videós, mozgóképes topik
- Computex 2024: még két Socket AM4-es Ryzen jön
- Bluetooth hangszórók
- Milyen belső merevlemezt vegyek?
- Projektor topic
- Autós kamerák
- Computex 2024: Mini-ITX alaplapokat vár a Fractal két új háza
- Samsung LCD és LED TV-k
- Kormányok / autós szimulátorok topicja
- Computex 2024: új Dark Rock hűtők és RGB-s házak a be quiet!-től
Hirdetés
-
Letartóztatták, mert AI segítségével csalt az egyetemi vizsgán
it A török hatóságok letartóztattak egy diákot, amiért egy egyetem felvételi vizsgáján AI segítségével válaszolt a kérdésekre.
-
Computex 2024: dedikált NPU-val menedzselné a VGA-t a PowerColor
ph A gyártó megoldása hardveres, de kérdés, hogy nem volna-e a célra elég a jó öreg szoftver.
-
Olcsó USB WiFi AC adapter
lo Egy olcsó WiFi AC USB adapter jó szolgálatot jelenthet, ha az új router csak elvileg támogatja a 2,4 GHz-es átvitelt.
-
PROHARDVER!
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
-
-
matekmatika
tag
PDF.FileName = ''HelloPDF_VB.pdf''
sorban a HelloPDF_VB.pdf-t cseréld le erre: Cells(2,2)
(idézőjelek nélkül, tehát: PDF.FileName = Cells(2,2))
Ja, természetesen a B2-be ilyenkor a kiterjesztéssel együtt kell szerepelnie a leendő pdf fájlnévnek. Tehát valami.pdf
Ha kiterjesztés nélkül van akkor azt a fenti sort így módosítsd:
PDF.FileName = Cells(2,2) & ''.pdf''
[Szerkesztve] -
matekmatika
tag
Hát...bocs, nem láttam, hogy fizetős, de szerintem ez nem okozhat olyan nagy gondot....
Ha nem boldogulsz vele és érdekel dobj meg egy e-maillel.
például:
ActiveSheet.PageSetup.PrintArea = ''$C$46:$C$59''
ActiveWindow.SelectedSheets.PrintOut
természetesen a tartományt írd át ahogy neked megfelel -
matekmatika
tag
Találkoztam már többször én is ezzel a hiányosságával az vb-nek. Tartományt nem tud kezelni közvetlenül, de ha beszúrsz egy modult és a tartomány kijelölést, valamint a másik munkalapon a beillesztést az ott lévő függvényben vagy eljárásban végezteted el akkor működni fog.
Tehát ahol a kódod van ott Insert-module. Majd itt a modulon végezteted el a tartomány kijelölés-másolás-beillesztést.
Sub akarmi()
Windows(''munkafüzet1.xls'').Activate
Columns(''A:A'').Select
Selection.Copy
Windows(''munkafüzet2.xls'').Activate
cells(1,1).select
activesheet.paste
end sub
Az eredeti kódod helyén pedig egyszerűen maghívod az akarmi-t. Így:
akarmi
Ha nem megy írj megcsinálom.
[Szerkesztve] -
matekmatika
tag
Persze a követkaző formula kicsit elegánsabb. Nem csak azért, mert van benne egy hibakezelés is arra az esetre, ha nem lenne nyitva a másolandó adatokat tartalmazó munkafüzet, hanem mert csak
Sub akarmi()
On Error GoTo ErrorHandler
Workbooks(''munkafüzet1.xls'').Activate
Columns(''A:A'').Select
Selection.Copy
Workbooks(''munkafüzet2.xls'').Activate
Cells(1, 1).Select
ActiveSheet.Paste
Exit Sub
ErrorHandler:
Workbooks.Open Filename:=''munkafüzet1.xls''
End Sub -
matekmatika
tag
Igazából nem hibakereső
Csak ha adódna a kód futása közben hiba (mondjuk nem tudná aktívvá tenni az adott munkafüzetet, mert nincs megnyitva), akkor az ott leírt utasítást hajtja végre. (jelen esetben megnyitja)
Persze ez így csak akkor igaz, ha a munkafüzet1 és ...2 ugyanabban a mappában van. Ha nem, akkor path-ot is meg kell adni. -
matekmatika
tag
Hát...izé... Nem munkafüzet1-et kellene megnyitnia? A kód a munkafüzet2-ben van tehát ha fut, az alapból meg kell hogy nyitva legyen.
Vagy te az munkafüzet1-be raktad a kódot?
mert ha igen akkor munkafüzet1 helyett munkafüzet2-re írd át
ErrorHandler:
Workbooks.Open Filename:=''munkafüzet2.xls''
End Sub
így.
[Szerkesztve] -
lapa
veterán
teljes elérési utat adsz meg? esetleg munkafuzet2.xls?
különbenis, ha ''windows''-ként hivatkozol, nem biztos az a ''.xls''. úgyértem ha windowsban el vannak rejtve a fájlkiterjesztések, akkor nem is biztos, hogy kell. szerintem csináld így (egyikből másikba másolunk egy tartományt, a céltábla van nyitva és persze ebben van a kód):
Sub masolosdi()
hovafile = ActiveWindow.Caption
Workbooks.Open (''C:\valahol\honnan.xls'')
honnanfile = ActiveWindow.Caption
ize = Workbooks(honnanfile).Sheets(1).Range(Cells(1, 1), Cells(50, 1))
Workbooks(hovafile).Activate
ActiveSheet.Range(Cells(1, 1), Cells(50, 1)) = ize
End Sub
mint mindig ' ' helyett '' használandó. -
-
Delila_1
Topikgazda
Érdemes a makró elején meghatározni a kiinduló lapot.
Ha a kiinduló lapon az A16 fölött nincs adat, hibás lesz a kijelölés, ezért inkább az
usor = Range("A65536").End(xlUp).Row -val keresd ki az A oszlop utolsó sorát.
A nyilvántartás lapra a Select-tel lépj át.Sheets("kiinduló lap").Select
usor = Range("A65536").End(xlUp).Row
Range("A16:J" & usor).Select
Selection.Copy
Sheets("nyilvántartás").Select
Cells(1, 1).Select
ucso=Selection.End(xlDown).Row+1 'Itt adod meg az utolsó alatti sort (+1)
Cells(ucso, 1).Select
Selection.PasteSpecial Paste:=xlPasteValues[ 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.
-
Delila_1
Topikgazda
Csak próbálkozás:
Ha a VBE-ben a Tools/Options párbeszéd ablak Editor fülén be van kapcsolva a Require Variable Declaration, akkor a makró elején deklarálni kell a változókat. Lefoglalni nekik a helyet a Dim utasítással (Dim uoszlop As Integer, Dim szöveg As String), azután meg kell adni a kezdő értéküket (Set uoszlop= ActiveSheet.UsedRange.Columns.Count, Set szöveg="Juliska").
Nálam nincs bekapcsolva. Vagy kapcsold ki, vagy deklaráld a változókat, remélhetően ez a bibi.
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
Még valószínűbb hiányosság lehet, hogy az Excelben az Eszközök/Bővítménykezelőben nincs bekapcsolva az Analysis Toolpak és az Analysis Toolpak-VBA. Ezeket azért kell bekapcsolni, mert az első a munkalapokon ad egy halom új függvényt az alaphoz, a második a makrókhoz.
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
Hű, de fürge vagy! Alig néhány hónap, és már meg is nézed!
Sheets("kiinduló lap").Select
usor = Range("A65536").End(xlUp).Row
Range("A16:J" & usor).Select
Selection.Copy
Sheets("nyilvántartás").Select
Cells(1, 1).Select
ucso = Range("A65536").End(xlUp).Row
If Cells(ucso, 1) > "" Then ucso = ucso + 1
Cells(ucso, 1).Select
Selection.PasteSpecial Paste:=xlPasteValuesAz lehet a baj az előzővel, hogy a nyilvántartás lapodon még nem volt adat, az xlDown leszaladt a 65536. sorig, és oda akart bemásolni néhány sort. Ettől persze kiakadt a lelke.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
ssrobi
csendes tag
Na kicsit másképp de megoldottam egyenlőre a problémát csak vigyázni kell, hogy az adott lapon nehogy valaki elkattintsa az A2 ből
viszont most egy olyan kérdésem lenne, hogy lehetne-e olyat csinálni hogy a gomb megnyomásakor megvizsgálja hogy van-e valami az A16-ban (bármi) és ha nincs akokr ne hajtsa végre a makrót!?köszi
-
Delila_1
Topikgazda
Nem kell ehhez makró. A táblázatodat a Ctrl+t kijelöli, a Fájl/Nyomtatási területnél már ki is jelölted.
Van ikonja is, amit kitehetsz az eszköztárra. Az Eszközök/Testreszabás Parancsok fülén a Fájl kategóriában találod meg.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
-
vakondka
őstag
CSV fájlt szeretnék megnyitni excelben, de sajnos az olyan cellákat, amelyekben szám van és nullával kezdődik, azokat lényegében "eltünteti".
pl: 00125487
ez lesz belőle: 125487És mivel ezek cikkszámok, ez komoly gond jelenleg...
Hogyan lehetne rávenni az excelt, hogy ne számként, hanem szövegként értelmezzen alapból minden adatmezőt, mert azt tudom hogy ilyen beállítással rendesen megjelennek a nullák a számok előtt.
https://toptarget.hu - Online Marketing Ügynökség
Új hozzászólás Aktív témák
- PC JÁTÉKOK (OLCSÓ STEAM, EA , UPLAY KULCSOK ÉS SOKMINDEN MÁS IS 100% GARANCIA )
- Windows, Office licencek a legolcsóbban, egyenesen a Microsoft-tól - 2990 Ft-tól!
- Game Pass Ultimate előfizetések 1 - 25 hónapig azonnali kézbesítéssel a LEGOLCSÓBBAN!
- Adobe Előfizetések - Adobe Creative Cloud All Apps, Photography Plan - 12 Hónap
- Eladó Steam kulcsok kedvező áron!