-
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
- Ilyen olcsó sem volt még egy Apple notebook
- Geri Bátyó: Agglegénykonyha 14 – Kések, késélezés
- Milyen alaplapot vegyek?
- Parci: Milyen mosógépet vegyek?
- Pedzegeti az új Xbox irányát a Microsoft
- Nyaralás topik
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- PlayStation 5
- Eredeti játékok OFF topik
- További aktív témák...
- Honor Magic V5 512GB, Kártyafüggetlen, 1 Év Garanciával
- Samsung Galaxy Tab A9+ 128GB,Újszerű,Dobozaval,12 hónap garanciával
- Thermalright Phantom Spirit 120 SE
- ÁRGARANCIA!Épített KomPhone Ryzen 5 4500 16/32/64GB RAM RTX 5050 8GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone i5 12400F 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest





Fferi50