Hirdetés
- Samsung Galaxy A17 5G – megint 16
- Poco F8 Ultra – forrónaci
- Samsung Galaxy Watch5 Pro - kerek, de nem tekerek
- Örömkönnyek és üres kezek a TriFold startjánál
- Milyen robotporszívót vegyek karácsonyra? (2025)
- Töltő már van a Galaxy S26 Ultrához
- Milyen okostelefont vegyek?
- Bekerül az Apple Pay és Google Pay a Budapest GO alkalmazásba
- Samsung Galaxy Watch8 - Classic - Ultra 2025
- Vivo X300 - kicsiben jobban megéri
-
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
-
Mutt
senior tag
válasz
81lendo$
#19190
üzenetére
Hello,
Pár hasznosabb XlPasteType értékek:
1. xlPasteAll - mindent fog másolni, tehát képletek, számformátumok, egyéb cella formátumok, keretek, kommentek
2. xlPasteValuesAndNumberFormats - a cellákat értékként fogja másolni számformátummal együtt
3. xlPasteValues - a cellákat értékként másolja, minden mást kihagy
4. xlPasteFormulas - képleteket másol, minden mást kihagy
5. xlPasteFormats - formátum másolás, se értéket se képletet nem másolüdv.
-
Mutt
senior tag
válasz
81lendo$
#19166
üzenetére
Szia,
A makró és a VBA ugyanaz, esetleg ha megosztod a rögzített makrót, akkor tudunk rajta csiszolni.
- az osztály névből egy új munkafüzetet készít, hasonló névvel
Új füzetet a Workbooks.Add paranccsal tudsz nyitni, mentéskor tudod megadni a nevet neki.
Ha lapról lenne szó, akkor Worksheets.Add a parancs, és a Worksheet.Name = Cstr(Range("C3")) műxik.- az egész táblázatot bemásolja oda
Adat másolása a Copy Destination:=<cél> paranccsal megy. Ha formátumot is kell másolni, akkor pedig a PasteSpecial használandó.
A táblázatot pedig egyben ki tudod jelölteni, ha benne állsz a CurrentRegion-al.- és tölődjön az első oldalról a már kész osztály.
Törléshez pedig a Delete parancs kell.Itt egy minimalista megoldás:
Sub CopyClass()
Dim wb As Workbook
Dim fajlnev As String
If Range("C3") <> "" Then
'megjegyezzük hogy milyen névvel kell menteni, egy kicsit tisztítunk rajta
fajlnev = CStr(Trim(Range("C3")))
'másoljuk a táblázatot E5-től kezdve
Range("E5").CurrentRegion.Copy
'nyitunk egy fájlt
Set wb = Workbooks.Add
'első fülére első cellájába berakjuk formázva képletek nélkül
wb.Sheets(1).Range("A1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats
'mentjük a fájlt
wb.SaveAs fajlnev
'bezárjuk a fájl
wb.Close
'töröljük az eredeti táblázatot
Range("E5").CurrentRegion.Delete xlShiftUp
'töröljük az osztály nevét
Range("C3").ClearContents
End If
End Subüdv.
-
Mutt
senior tag
válasz
81lendo$
#19113
üzenetére
Hello,
Itt megtalálod a módosított változatot. Nem csak a formátum másolás, de a munkalapra helyezett ActiveX vezérlőt változat is benne van.
A formátum másolása pedig általánosságban így oldható meg:
Range(masolando).Copy
Range(cel).PasteSpecial Paste:=<beillesztéstípusa>A beillesztés típusáról itt súgóban vagy itt lehet olvasni.
Tipikus példák:
xlPasteAll - minden formátumot másol (függvény, szám formátum, cella formátum, keret, komment stb).
xlPasteValuesAndNumberFormats - értéket és számformátumot másol, de mást nem
xlPasteValues - értékként fogja másolni a cella tartalmát, de mást nem hoz átüdv.
-
Mutt
senior tag
válasz
81lendo$
#19077
üzenetére
Szia,
...El tudnád küldeni, a kódját, az "ExportList" gombnak?
Nincs jelszavazva, Alt+F11-el te is megtudod nézni alaposan, a kód részlet pedig ez:Private Sub bExportList_Click()
Dim i As Integer
Dim vHits As Integer
Dim arryHits()
Dim wsCel As Workbook
'találatok száma
vHits = 0
'végigmegyünk a lista elemein
For i = 0 To lbList.ListCount - 1
'amely ki van jelölve azt egy találati tömbbe tesszük
If lbList.Selected(i) Then
'találatok számát növeljük
vHits = vHits + 1
'a találati tömböt átméretezzük hogy fogadja az új elemet
ReDim Preserve arryHits(1 To vHits)
'betöltjük az új elemet
arryHits(vHits) = lbList.List(i)
End If
Next i
If vHits Then
'új fájl létrehozása
Set wsCel = Workbooks.Add
wsCel.Sheets(1).Range("A1") = "Munkalap neve"
For i = 1 To vHits
'kért adatok kiiratása
wsCel.Sheets(1).Cells(i + 1, "A") = arryHits(i)
wsCel.Sheets(1).Cells(i + 1, "B") = ThisWorkbook.Sheets(arryHits(i)).Range("E2")
wsCel.Sheets(1).Cells(i + 1, "C") = ThisWorkbook.Sheets(arryHits(i)).Range("K27")
wsCel.Sheets(1).Cells(i + 1, "D") = ThisWorkbook.Sheets(arryHits(i)).Range("K28")
Next i
End If
'form bezárása
Unload Me
End Sub...- Ilyenkor amikor konkrét cellát viszel át egy másik fájlba, akkor fomátuma is átmegy. (pl.: pénznem [Forint], [Euro])?
A sima Copy nem viszi át VBA-ban, így nekem sem fogja a formázást másolni, de természetesen meg lehet csinálni (PasteSpecial).
...- Ugye én nem formon, hanem Munkalapon csináltam, de elvileg ott is működik ez a megoldás?
Ha ActiveX vezérlőket használsz a lapon, akkor műkődhet. A gond azonban, hogy ezek a vezérlők egymástől függetlenül fognak létezni, ezért globális változók kellenek az adatok cseréjéhez.üdv.
Új hozzászólás Aktív témák
- Az SK Hynix elárulta, hogy meddig nem lesz elég memória
- SörcsaPH!
- EU-s vám vethet véget a nagyi temus vásárlási lázának
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- AMD Navi Radeon™ RX 9xxx sorozat
- Vicces képek
- urandom0: Száműztem az AI-t az életemből
- GL.iNet Flint 2 (GL-MT6000) router
- További aktív témák...
- Windows 10/11 Home/Pro , Office 2024 kulcsok
- Keresem a Barkács Balázs Játékokat
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Játékkulcsok ! : PC Steam, EA App, Ubisoft, Windows és egyéb játékok : (12.14.)
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap - 15% AKCIÓ
- GYÖNYÖRŰ iPhone 13 mini 128GB Starlight -1 ÉV GARANCIA -Kártyafüggetlen, MS3610
- Újszerű Apple MacBook Air M1 13.3 - 8GB/256GB - Asztroszürke - 150 Ciklus - 92% akku - 1 év gari -
- HIBÁTLAN iPhone 14 Pro Max 512GB Silver -1 ÉV GARANCIA - Kártyafüggetlen
- Lenovo Ideapad 3 : I3 10110U / 4GB / 256 GB SSD / Win 11
- HIBÁTLAN iPhone 14 Pro Max 128GB Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3918
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Fferi50

