-
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
-
válasz
bozsozso
#9716
üzenetére
Bocs a megkésett anyagért, de hétköznapokon el vagyok rendesen foglalva.
Ez a kód az összes CSV fájlt feldolgozza illetve AutoFilter-rel látja el. Ebből a táblázatból pedig kényelmesen legyárthatsz kimutatást, abban meg azt és úgy összesíthetsz, ahogy csak szeretnéd.
(Azért tettem be ide PH!-ra, mert hátha mások is találnak benne hasznos dolgokat)Private Sub CommandButton1_Click()
'elválasztó-karakter a CSV fájlokon belül
Const MYDELIMITER = ";"
'hol találhatóak a CSV fájlok
Const MYPATH = "D:\fire\csvs_path\"
'melyik munkalapra legyenek bemásolva az adatok
'(A munkalapnak LÉTEZNIE KELL!)
Dim DestWS As Worksheet
Set DestWS = Worksheets("Munka2")
'a megadott munkalap melyik cellájától kerüljenek be az adatok
Dim DestRange As Range
Set DestRange = DestWS.Range("A1")
Dim MyStr As String
Dim MyStrs() As String
Dim MyFileIndex As Integer
Dim MyRowCount As Integer
Dim MyCount As Integer
Application.ScreenUpdating = False
DestWS.Select
DestWS.UsedRange.Clear
DestRange.Select
MyRowCount = 0
MyFileIndex = 0
MyFname = Dir(MYPATH & "*.csv")
Do While Len(MyFname) > 0
MyFnum = FreeFile
Open MYPATH & MyFname For Input As MyFnum
Line Input #MyFnum, MyStr
Line Input #MyFnum, MyStr
Line Input #MyFnum, MyStr
If MyFileIndex = 0 Then
ActiveCell.Offset(MyRowCount, 0).Value = "TelephelyKód"
MyFileIndex = 1
MyStrs = Split(MyStr, MYDELIMITER)
If Right(MyStr, 1) = MYDELIMITER Then
MyCount = UBound(MyStrs())
Else: MyCount = UBound(MyStrs()) + 1
End If
For i = 0 To MyCount - 1
ActiveCell.Offset(MyRowCount, i + 1).Value = MyStrs(i)
Next i
MyRowCount = MyRowCount + 1
End If
Line Input #MyFnum, MyStr
Line Input #MyFnum, MyStr
While Not EOF(MyFnum)
Line Input #MyFnum, MyStr
xstr = Mid(MyFname, InStr(1, MyFname, ".", vbTextCompare) - 3, 3)
ActiveCell.Offset(MyRowCount, 0).Value = xstr
MyStrs = Split(MyStr, MYDELIMITER)
For i = 0 To MyCount - 1
ActiveCell.Offset(MyRowCount, i + 1).Value = Trim(MyStrs(i))
Next i
MyRowCount = MyRowCount + 1
Wend
Close MyFnum
MyFname = Dir()
Loop
With ActiveSheet
.Range(DestRange.Address & ":" & Chr(DestRange.Column + MyCount + 64) & DestRange.Row).AutoFilter
.Columns.AutoFit
End With
Application.ScreenUpdating = True
If MyRowCount = 0 Then MsgBox "A megadott termék nem található az átvizsgált CSV fájlokban.", vbInformation
Set DestWS = Nothing
Set DestRange = Nothing
End Sub
Új hozzászólás Aktív témák
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Krikszkraksz? Nem, X Max!
- Star Citizen
- Gitáros topic
- Fűnyíró topik
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Fogyjunk le!
- Milyen videókártyát?
- OFF TOPIC 44 - Te mondd, hogy offtopic, a te hangod mélyebb!
- exHWSW - Értünk mindenhez IS
- További aktív témák...
- Játékkulcsok ! : PC Steam, EA App, Ubisoft, Windows és egyéb játékok
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Game Pass Ultimate előfizetések 3 - 36 hónapig azonnali kézbesítéssel a LEGOLCSÓBBAN! AKCIÓ!
- Bitdefender Total Security 3év/3eszköz! - Tökéletes védelem.
- Microsoft Office 2024 Home Business dobozos
- HP EliteDesk 800 G4 USDT,i3-8100, 8GB DDR4,256GB M2 SSD,WIN11
- Cisco Catalyst C1000-48T-4G-L 48xRJ45 4xSFP switch
- HP EliteOne 800 G4 All-in-One i5-8500 16GB 512GB 23.8" Érintőkijelző!! 1 év garancia
- LG 27GR95UM - 27" MiniLED - UHD 4K - 160Hz 1ms - NVIDIA G-Sync - FreeSync Premium PRO - HDR 1000
- Új monitor állvány- elegáns megoldás a dupla A/4-es papírcsomag helyett - csak össze lett szerelve
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Fferi50