-
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
-
Pakliman
tag
-
Fferi50
Topikgazda
válasz
BEndre34
#48194
üzenetére
Szia!
Próbáld meg a következő tömbképletet az A2 cellába:=SZUM(($B2:$R2=1)*($C2:$S2=""))
A képlet záró oszlopát módosítsd a számodra megfelelő módon (pl. $BH2 és $BI2), fontos, hogy a második rész egy oszloppal legyen eltolva az elsőhöz képest.
A tömbképletet Shift + Ctrl + Enter kombóval kell lezárni, az Excel kapcsos zárójelbe teszi.
Ez a képlet húzható lefelé.
Üdv. -
Pakliman
tag
válasz
BEndre34
#48188
üzenetére
Szia!
Public Function xDB(r As Range) As Long
Dim c As Range
Dim s As String
For Each c In r.Cells
s = s & IIf(s = "", "", ";") & IIf(IsEmpty(c), Chr(1), c.Value)
Next c
s = Replace(s, "1;1", "")
xDB = Len(s) - Len(Replace(s, "1", ""))
End FunctionCsak azokat az 1-eseket számolja, amelyik mellett nincs 1-es
(hiba: 3 egymás mellettit viszont már 1-nek számol!!).Ha jól értelmeztem a feladatot...

-
Fferi50
Topikgazda
válasz
BEndre34
#48073
üzenetére
Szia!
Ha a mutatott képleted működik, akkor csak annyi a teendőd, hogy a SOR(1:1) helyett
OSZLOP()-1 kifejezést írsz és elhúzod jobbra a képletet.
Itt a teljes tömbképlet, az A oszlopban az ID, B oszlopban a hetek, nincs fejléc.:=HAHIBA(INDEX(Munka1!$B$1:$B$3376;KICSI(HA($A1=Munka1!$A$1:$A$3376;SOR(Munka1!$B$1:$B$3376)-SOR(Munka1!$B$1)+1);OSZLOP()-1));"")
Üdv. -
Delila_1
veterán
-
Pakliman
tag
válasz
BEndre34
#47586
üzenetére
Szia!
Megoldható úgy is: az útvonalat a
ThisWorkbook.Pathfogja megadni a makróm elején:MFName = Dir(ThisWorkbook.Path & "\Jelenléti ##.##.xlsx")De egy másik lehetőség:
A kollégák választják ki a szükséges táblázatokat (hibakezelést itt sem csináltam!).
Az összesítő munkalapra teszel egy ActiveX CommandButton-t, aminek a kódja:Private Sub CommandButton1_Click()
Dim twb As Workbook: Set twb = ThisWorkbook
Dim fd As FileDialog
Dim i As Long
Dim MFName As String
Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
.AllowMultiSelect = True
.Filters.Clear
.Filters.Add "Excel Files", "*.xls*"
If .Show = -1 Then
For i = 1 To .SelectedItems.Count
If .SelectedItems(i) Like "*\Jelenléti ##.##.xls*" Then
Workbooks.Open Filename:=.SelectedItems(i)
MFName = ActiveWorkbook.Name
ActiveWorkbook.Sheets(1).Copy Before:=twb.Sheets(1)
ActiveSheet.Name = Mid(MFName, 11, 6)
Workbooks(MFName).Close SaveChanges:=False
End If
Next i
End If
End With
End Sub -
Pakliman
tag
válasz
BEndre34
#47562
üzenetére
Szia!
Egy egyszerűsített lehetőség (nincs hibakezelés):
Sub Makró1()
Dim MFName As String
MFName = Dir("x:\utvonal\Jelenléti ##.##.xlsx")
Do While MFName <> ""
Workbooks.Open Filename:="x:\utvonal\" & MFName
ActiveWorkbook.Sheets(1).Copy Before:=Workbooks("Összesítő").Sheets(1)
ActiveSheet.Name = Mid(ActiveWorkbook.Name, 11, 6)
Workbooks(MFName).Close SaveChanges:=False
MFName = Dir 'NINCS PARAMÉTER!!
Loop
End Sub
Új hozzászólás Aktív témák
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- Xbox / Microsoft Store feltöltőkártya kód (digitális, HU) több címlet, több db, azonnal, olcsón
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- MEGA AKCIÓ! - Jogtiszta Windows - Office & Autodesk & CorelDRAW - Azonnal - Számlával - Garanciával
- Bitdefender Total Security 3év/3eszköz! - Tökéletes védelem.
- BESZÁMÍTÁS! MSI B650 R7 7700 32GB DDR5 1TB SSD RTX 5070Ti 16GB LIAN LI LANCOOL 207 ADATA 850W
- GYÖNYÖRŰ iPhone 13 128GB Green -1 ÉV GARANCIA - Kártyafüggetlen, MS4495, 100% Akkumulátor
- BESZÁMÍTÁS! ASRock Phantom Gaming RX 7900XTX 24GB garanciával hibátlan működéssel
- Sima Vs.Windows Logitech Mx keys s plus és hagyományos Mx keys magyar bemutatása. Új videó linkkel
- Xiaomi 11 Lite / 6/128GB / Kártyafüggetlen / 12Hó Garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest





Fferi50