-
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
-
Kraptor
őstag
válasz
hbbalint
#101
üzenetére
Úgy simán sehogy, mert 65K a limit, de vannak okosságok amivel meglehet kerülni ezeket. Van egy progi amit Microsoft Office Spreadsheet 10.0 UserForm control-nak hívnak és ezzel elvileg létretudsz hozni 18,278 x 262,144-es lapokat.Ezt nem tudom, hogy mennyire igaz vagy nem.
Vagy vannak különböző makrók amikkel megtudsz nyitnyi nagyobb fileokat, csak akkor több lapba fogja megnyitni őket automatikusan.
Sub ImportLargeFile()
'Imports text file into Excel workbook using ADO.
'If the number of records exceeds 65536 then it splits it over more than one sheet.
Dim strFilePath As String, strFilename As String, strFullPath As String
Dim lngCounter As Long
Dim oConn As Object, oRS As Object, oFSObj As Object
'Get a text file name
strFullPath = Application.GetOpenFilename(''Text Files (*.txt),*.txt'', , ''Please select text file...'')
If strFullPath = ''False'' Then Exit Sub 'User pressed Cancel on the open file dialog
Application.ScreenUpdating = False
'This gives us a full path name e.g. C:\folder\file.txt
'We need to split this into path and file name
Set oFSObj = CreateObject(''SCRIPTING.FILESYSTEMOBJECT'')
strFilePath = oFSObj.GetFile(strFullPath).ParentFolder.Path
strFilename = oFSObj.GetFile(strFullPath).Name
'Open an ADO connection to the folder specified
Set oConn = CreateObject(''ADODB.CONNECTION'')
oConn.Open ''Provider=Microsoft.Jet.OLEDB.4.0;'' & _
''Data Source='' & strFilePath & '';'' & _
''Extended Properties=''''text;HDR=Yes;FMT=Delimited''''''
Set oRS = CreateObject(''ADODB.RECORDSET'')
'Now actually open the text file and import into Excel
oRS.Open ''SELECT * FROM '' & strFilename, oConn, 3, 1, 1
While Not oRS.EOF
Sheets.Add
ActiveSheet.Range(''A1'').CopyFromRecordset oRS, 65536
Wend
oRS.Close
oConn.Close
Application.ScreenUpdating = True
End Sub
Itt egy másik is:
Sub LoadData()
Const cCol1 = 20, cCol2 = 20, cCol3 = 20, cLimit = 50000
Dim intFreeFile As Integer, i As Long, j As Long, strTemp As String
Dim arr() As String
On Error Resume Next
intFreeFile = FreeFile
Open ''c:\test.txt'' For Input As #intFreeFile
i = 0: j = 1
ReDim arr(cLimit, 2)
Do Until EOF(intFreeFile)
Line Input #intFreeFile, strTemp
arr(i, 0) = Trim(Mid(strTemp, 1, cCol1))
arr(i, 1) = Trim(Mid(strTemp, cCol1, cCol2))
arr(i, 2) = Trim(Mid(strTemp, cCol1 + cCol2, cCol3))
i = i + 1
If i > cLimit - 1 Then
Cells(1, j).Resize(cLimit, 3).Value = arr
i = 0: j = j + 3
ReDim arr(cLimit, 2)
End If
Loop
Close #intFreeFile
End Sub -
Kraptor
őstag
Mégis lehet használni, noha kellett egy kis notebookba valo másolás és onnan újra vissza excelbe. Így már nem látja a számokat föggvényeknek az excel, na már most csak azt kéne kitalálnom, hogy lehetne a 4 oszlopot ami mögötte van úgy mozgatni mint az, ahogy a számok alakultak.
-
Kraptor
őstag
Na mékse kell megálmodnod, mert nem jó az egész ahogy van. Akarom mondani jó, mert elvégzi azt nagyon szépen, ami le volt írva, csak én nem számoltam és gondoltam át pontosan az egészet és átsiklottam egy-pár dolgon. Ez egy nagyobb egység része lenne, és ha a nagyobb egység egyik oszlopával újra rendezem az egész egységet, akkor a kapott számok felborúlnak és a függvények újra számlálódnak. Tehát ez nem jó, de azért nagyon köszi és ez a függvény marhára tetszett, főleg, nagyon ötletes volt.

[Szerkesztve] -
Kraptor
őstag
Én most ezen egy kicsit megakadtam nagyon, mert az még kihagytam, hogy még a második oszlop mögött van 4 oszlop, amit ugyanúgy kellene mozgatni, ahogy a második oszlop mozog/igazodik az elsőhöz. Az első sort én fixnek venném és ahhoz probálnám meg valamilyen sort metodussal megcsinálni az egészet, de nem nagyon akar sikerülni.

-
Kraptor
őstag
VAn egy kis problémám Excelben. Nem nagyon szoktam használni, főleg manapság már nem.
A problémám az lenne, hogy van két oszlopom és mind a két oszlopban a számok 1-17000 ig vannak, csak az első oszlopban az adott számok 30000 helyen fordulnak elő, tehát valamelyikből több van és van olyan szám is 1-17kig, ami nem szerepel. A másik oszlopban a számok 1-17kig vannak és mindegyik szám csak egyszer szerepel. A bibi ott van. hogy valahogy úgy szeretném csinálni, hogy ''párba'' legyen a két oszlop. A megegyező számok egy sorba essenek, ahol meg több szám van, ott a legelső számnál legyen egybe a sor. Valahogy így képzelem, remélem a formátum nem fog eltolódni.
Ez van per pillanat:
1 1
2 2
3 3
4 4
4 5
4 6
5 7
és ezt szeretném kapni:
1 1
2 2
3 3
4 4
4
4
5 5
...
Valakinek van valami ötlete, hogyan tudnám ezt megoldani?
[Szerkesztve]
Új hozzászólás Aktív témák
- Kerékpárosok, bringások ide!
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Gyárátalakításokkal kaszálna nagyott a memóriapánikból a Samsung
- PlayStation 5
- TCL LCD és LED TV-k
- LG LCD és LED TV-k
- sziku69: Fűzzük össze a szavakat :)
- Linux kezdőknek
- Geri Bátyó: Agglegénykonyha 14 – Kések, késélezés
- Télbúcsúztató hardvermix
- További aktív témák...
- Fallout 4 Pip-Boy Edition eladó
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Game Pass Ultimate előfizetések 1 - 36 hónapig azonnali kézbesítéssel a LEGOLCSÓBBAN! AKCIÓ!
- Játékkulcsok ! : PC Steam, EA App, Ubisoft, Windows és egyéb játékok
- Apple iPhone 13 Pro Max Graphite ProMotion 120 Hz, Pro kamerák 128 GB-100%-3hó gari!
- DELL Alienware 16X Aurora Intel Core Ultra 7 / RTX 5060 Csillagközi indigó 2029-ig garancia
- LENOVO ThinkPad T14s Gen 2i touchscreen - i7-1185G7, 16GB RAM, SSD, jó akku, számla, 6 hó gar
- Lenovo ThinkPad T14s Gen 3 i5-1245U 14" FHD+ 16GB 1TB 1 év teljeskörű garancia
- ÁRGARANCIA! Épített KomPhone i5 12400F 16/32/64GB RAM RTX 5050 8GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


Fferi50