-
IT café
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
-
Delila_1
veterán
válasz twingos #28461 üzenetére
A napokban sok szó esett a speciális-, lánykori nevén irányított szűrésről (csak az egyedi rekordok megjelenítése).
Ezzel a funkcióval kigyűjtőd az egyedi értékeket az E oszlopba. A D2 cella képlete =DARABTELI(A:A;E2)Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
veterán
válasz twingos #28471 üzenetére
Legyen a B2 képlete =DARABTELI(A$2:A2;A2). Ügyelj a $ jelre. Ezt lemásolod a többi adatod mellé. Ahol 1-nél nagyobb számot látsz, ott már nem először szerepel az adat. Szűrheted is az oszlopot az 1-nél nagyobb értékekre.
Más oszlopba is írhatod a képletet, ha a B foglalt.
Adhatsz A2-től az oszlopodra feltételes formázást. A képlet =DARABTELI(A:A;A2)>1
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
veterán
válasz twingos #28473 üzenetére
Formázd meg a D oszlopot előre, legyen # ##0" db" az egyéni kategóriában.
Rendeld a lapodhoz a lenti makrót:Private Sub Worksheet_Change(ByVal Target As Range)
Dim talal, WF As WorksheetFunction
Set WF = WorksheetFunction
Application.EnableEvents = False
If Target.Column = 1 Then
If WF.CountIf(Columns(1), Target) > 1 Then
If WF.CountIf(Columns(5), Target) = 0 Then
talal = Range("E" & Rows.Count).End(xlUp).Row + 1
Range("E" & talal) = Target
Range("D" & talal) = WF.CountIf(Columns(1), Target)
Else
talal = Application.Match(Target, Columns(5), 0)
End If
Range("D" & talal) = WF.CountIf(Columns(1), Target)
End If
End If
Application.EnableEvents = True
End SubProgramozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
lenkei83
tag
válasz twingos #29098 üzenetére
Szia!
Két kérdésem is van:
Az egyik, hogy melyik oszlopban kell figyelembe venni, az utolsó aktív sort?
A másik, hogy milyen exceled van? Ha 2007 vagy frissebb, akkor én így használnám a képletet:
=HAHIBA(HOL.VAN(V2;AB:AB;0);"") --> A V:V-t lecseréltem V2-re, feltételezve, hogy az első sor fejlécet tartalmaz:Ha 2007 előttit használsz akkor pedig hasonló mint a tiéd: =HA(HIBÁS(HOL.VAN(V1;AB:AB;0));"";HOL.VAN(V1;AB:AB;0))
A kód pedig ennyi lenne 2007-es excelt (vagy későbbit) feltételezve
Sub InsertFormula()
Range("X2:X" & Cells(Rows.Count, "A").End(xlUp).Row).Formula = "=iferror(match(V1,AB:AB,0),"""")"
End SubAmire figyelned kell: X2:X tehát az X oszlop második sorától indul a képlet, ha az első sorba is kell, akkor X1-re javítsd.
Valamint a Cells(Rows.Count, "A") az az oszlop, ahol az utolsó aktív sort kell figyelni, itt az "A"-t módosítsd ha szükséges.
üdv
[ Szerkesztve ]
-
Pakliman
tag
válasz twingos #37653 üzenetére
Szia!
Egy lehetséges megoldás...
Public Sub qa()
Dim wsA As Worksheet: Set wsA = ActiveSheet
Dim wsArr
Dim wsDb As Integer
Dim ws As Worksheet
ReDim wsArr(0 To 0)
'Van egy táblázatom, ami 25 sheet-et tartalmaz. Nekem csak a 1-től 20. oldalig fontosak...
For Each ws In Worksheets
If Mid(ws.Name, 6) >= 1 And Mid(ws.Name, 6) <= 20 Then 'itt kell azonosítani a munkalapot, hogy kell-e egyáltalán
'ha az I3-as cella értéke nem üres...
If Not IsEmpty(ws.Range("I3")) Then
'... és nullánál nagyobb...
If ws.Range("I3") > 0 Then
wsDb = wsDb + 1
ReDim Preserve wsArr(1 To wsDb)
wsArr(wsDb) = ws.Name
End If
End If
End If
Next ws
If wsDb > 0 Then
Sheets(wsArr).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="d:\Ez az új.pdf"
End If
wsA.Select
End Sub[ Szerkesztve ]
-
Pakliman
tag
válasz twingos #37659 üzenetére
Szia!
Én létrehoztam egy új munkafüzetet.
Abban létrehoztam 25 munkalapot (a neveik sorban: Munka1, Munka2, stb. Munka25)
AzIf Mid(ws.Name, 6) >= 1 And Mid(ws.Name, 6) <= 20 Then
sor ezeknek a neveknek megfelelően ellenőriz. Ha nálad nem ezek a nevek vannak (gyanítom ), akkor más szisztéma szerint kell megtalálnod, hogy az a munkalap kell-e neked (Pl.: egySelect Case
válogatás).
Szerintem itt lesz a gond egyébként
Ha leírod a figyelendő munkalapok neveit, akkor tudok többet segíteni.A munkalapok kijelölését azért nem láthatod, mert egyrészt "gyors" a program, másrészt pedig a progi végén visszaállítom az eredetileg aktív (
Set wsA = ActiveSheet
) munkalapot (wsA.Select
).[ Szerkesztve ]
Új hozzászólás Aktív témák
Állásajánlatok
Cég: HC Pointer Kft.
Város: Pécs
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest