- Újabb államok perelik az Apple-t, mert sok pénzt szed ki a vevőkből
- Windows 11
- SUSE Linux
- Meggyőző arcjátékkal reagál a kínai humanoid robot
- Milyen routert?
- Alternatív kriptopénzek, altcoinok bányászata
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Otthoni hálózat és internet megosztás
- Max
- Béta iOS-t használók topikja
-
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
-
the radish
senior tag
válasz the radish #19090 üzenetére
Köszi, régen tudtam és meg is találtam, már nem aktuális.
-
Delila_1
Topikgazda
válasz the radish #19092 üzenetére
A Munka1 lap A1 cellájába írd be idézőjelek nélkül a >=0:00:45 szöveget, a Munka2 lap B2 cellájába pedig <=0:02-t. A két cella értékét 1-1 változóba teszed, és kritériumként ezeket a változókat adod meg.
kr1 = Sheets("Munka1").Range("A1")
kr2 = Sheets("Munka2").Range("B2")
Sheets("Filter").Select
ActiveSheet.Range("$A$1:$C$5001").AutoFilter Field:=3, Criteria1:= _
kr1, Operator:=xlAnd, Criteria2:=kr2Programozó: 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
Topikgazda
válasz the radish #19096 üzenetére
"A Munka1 lap A1 cellájába írd be idézőjelek nélkül a >=0:00:45 szöveget", de az is jó, amit most írtál, csak akkor a cellában ne szerepeljenek relációs jelek (=, >, <).
[ Szerkesztve ]
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
Topikgazda
válasz the radish #19098 üzenetére
Szívesen.
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
Topikgazda
válasz the radish #19101 üzenetére
A változót így add meg:
kr1= ">=" & sheets("Munka1").range("a1")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
Topikgazda
válasz the radish #19101 üzenetére
Az R3 képlete =HA($C3="A";KICSI($A:$A;SOR()-2);"")
Ezt másold az S3-ba, és az "A"-t írd át "B"-re.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
Topikgazda
válasz the radish #19104 üzenetére
kr1 = ">=" & CDate(Sheets("Munka1").Range("A1"))
kr2 = "<=" & CDate(Sheets("Munka2").Range("B2"))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
Topikgazda
válasz the radish #19108 üzenetére
Megjegyzel?!!!
Szívesen.
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
Topikgazda
válasz the radish #19115 üzenetére
Ha előtte más meghajtó volt aktuális, előbb át kell váltanod a chdir paranccsal a D-re.
ChDir "D:\"
ActiveWorkbook.SaveAs Filename:="export.txt", FileFormat:=xlTextMSDOSRemélem, jól írtam, mert nem próbáltam ki.
[ Szerkesztve ]
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
Topikgazda
válasz the radish #19119 üzenetére
Sub direktor()
Dim utvonal$
utvonal$ = Range("B1")
ChDir utvonal$
ActiveWorkbook.SaveAs Filename:=utvonal$ & "proba.xls"
End SubNem szerencsés dolog személy szerint valakinek címezni a kérdésedet. Ha nincs itt a címzett, vagy nem tud-, nem akar válaszolni, akkor várhatsz a sorodra.
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
Topikgazda
válasz the radish #19207 üzenetére
D1 cella -> =MAX(A:A)
E1 cella -> =INDEX(A:B;HOL.VAN(D1;A:A;0);2)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
Topikgazda
válasz the radish #19209 üzenetére
Nincs mit.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
lappy
őstag
-
Delila_1
Topikgazda
válasz the radish #19219 üzenetére
A példában az E1 cella tartalmazza azt a számot, aminél kisebb max értékre van szükséged.
=HA(MAX(A:A)<E1;MAX(A:A);NAGY(A:A;2))
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
Topikgazda
válasz the radish #19221 üzenetére
Szívesen.
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
Topikgazda
válasz the radish #19223 üzenetére
Akkor feltétel (Ha függvény) nélkül írd be a NAGY függvényt.
A kérdésed az előbb nem így szólt.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
Topikgazda
válasz the radish #19225 üzenetére
Írtam hozzá egy kis makrót. Mivel ez funkció, úgy kell alkalmaznod, mint bármelyik függvényt.
A cellába, ahol az eredményt akarod megkapni, az=Max_1(A1:A7;E1)
képletet írd be. A képlet 2 paramétere a keresés területe (hol As Range), és a kritérium helye (krit As Range).
A felsorolt értékeidet az A1:A7 tartományba írtam, a 120-at az E1-be.
Function Max_1(hol As Range, krit As Range)
Dim szam As Single, CV As Object
If WorksheetFunction.Max(Range("A:A")) > krit Then
For Each CV In hol
If CV < krit And CV > szam Then szam = CV
Next
Else
Max_1 = krit.Value
End If
Max_1 = szam
End Function[ Szerkesztve ]
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
Topikgazda
válasz the radish #19225 üzenetére
A
If WorksheetFunction.Max(Range("A:A")) > krit Then
sor helyesen:
If WorksheetFunction.Max(hol) > krit Then
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
Topikgazda
válasz the radish #19228 üzenetére
Ugyanannyiszor szívesen.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Mutt
aktív tag
válasz the radish #19225 üzenetére
Hello,
A listából az a szám kell, melyek a kritériumnál kisebb...
CSE képlettel (C1-ben van a határérték, A oszlopban a számok):
{=MAX((A:A<C1)*(A:A))}Szorzatösszeggel pedig:
=SZORZATÖSSZEG(MAX((A:A<C1)*(A:A)))Ha két szám (C1,C2) közötti legnagyobb kell akkor:
{=MAX((A:A<C1)*(A:A>C2)*(A:A))}
=SZORZATÖSSZEG(MAX((A:A<C1)*(A:A>C2)*(A:A)))A képletek 0-t adnak vissza ha nincs megfelelő szám!
üdv.
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Mutt
aktív tag
válasz the radish #19232 üzenetére
Hello,
Megnéztem 2003-asban és a #Szám# hiba azért van mert a teljes oszlopra hivatkozva túlcsordul a számítás; de egy sorral kevesebbre már jó. Szóval A:A hivatkozás helyett A1:A65535 -el működik. Természetesen ha van sejtésed, hogy az adatsor maximum mennyi elemet tartalmazhat, akkor inkább azt add meg a gyorsabb működés érdekében.
Az első képlet pedig egy tömbképlet, vagyis kapcsos zárójelek nélkül kell bevinni, majd a végén Ctrl+Shift+Entert nyomni. Ez is jól működik ha nem teljes oszlopra hivatkozol.
üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
lappy
őstag
válasz the radish #19259 üzenetére
Szia!
Ez a képletet használd:
=INDEX(A1:A20;HOL.VAN(MIN(ABS(A1:A20-D1));ABS(A1:A20-D1);0))
De CSE módban!! (Ctrl + Shift + Enter)
és a segédcellába az 1 nagyobb számot írd be majd.Bámulatos hol tart már a tudomány!
-
Mutt
aktív tag
válasz the radish #19259 üzenetére
Hello,
Szóval van egy számhalmaz pl. 100-10000 között. Kéne belőle az első, ami 1000-nél nagyobb...
CSE-képlet:
{=INDEX(A:A;MATCH(1;((A:A>100)*(A:A<10000));0))}üdv.
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
the radish
senior tag
válasz the radish #19268 üzenetére
Szerintem lükén kérdeztem:
Szóval nem jövök rá, és nem sorozatról van szó a képletben.
Köszi előre is.
-
Mutt
aktív tag
válasz the radish #19277 üzenetére
Hello,
Ha D-oszlopban vannak a sor azonosítók, akkor az INDIREKT függvény segít:
=HA(INDIREKT("Q"&D3)<CD$1;0;INDIREKT("M"&D3))üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
the radish
senior tag
válasz the radish #19283 üzenetére
Megoldva... Bocsi, megint láma voltam.
-
Mutt
aktív tag
válasz the radish #19283 üzenetére
Hello,
Az ÖSSZEFŰZ függvény szöveges eredményt ad, ezért hiába állítasz be számformátumot, nem fogja használni.
Az én javaslatom a SOKSZOR függvény.
pl. =SOKSZOR(0;3-HOSSZ(HÓNAP(MA())))&HÓNAP(MA())A fenti példa mindig 3 karakter hosszan fogja megjeleníteni az aktuális hónap sorszámát; annyiszor ismétli a 0-t, hogy 3 karakteres legyen a végeredmény.
üdv.
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Mutt
aktív tag
válasz the radish #19287 üzenetére
Hello,
Lehet az általad megírt módon is megcsinálni.
pl.
Sub Indit()
Select Case ActiveSheet.Range("A1")
Case 0
makro0
Case 1
makro1
End Select
End Sub
Sub makro0()
MsgBox "Első ág"
End Sub
Sub makro1()
MsgBox "Másik ág"
End Subüdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Mutt
aktív tag
válasz the radish #19290 üzenetére
Hello,
Ha jól értem, akkor a sSheetsToPrint = "Export,Import" részben interaktívan szeretnéd a lapok nevét.
Ez a kódrészlet megoldja ezt:sSheetsToPrint = ""
For Each cell In Range("A1:Z1")
If cell <> "" Then
sSheetsToPrint = sSheetsToPrint & cell & ","
End If
Next
sSheetsToPrint = Left(sSheetsToPrint, Len(sSheetsToPrint) - 1)Az első mondatodból kiindulva van alternatív megoldás is?
Én csak akkor tenném külön szubrutinba őket, ha teljes más eredményt/feldolgozást kell elvégezni 0 és 1 esetén. Ha van átfedés, akkor egyben hagynám mert ekkor csak 1x kell a közös részt megírni és csak a megfelelő részeken ágaznék el.üdv.
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Delila_1
Topikgazda
válasz the radish #19325 üzenetére
Feltételnek azt a kérdést tettem be, hogy az A1 értéke egyenlő-e a B1-ével.
Sub valami()
If Cells(1) = Cells(2) Then
Exit Sub
Else
MsgBox "Hé, nem figyeltél!", vbOKOnly + vbExclamation, "Figyelmeztetés"
End If
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.
-
Mutt
aktív tag
válasz the radish #19327 üzenetére
Hello,
Én ritkán szoktam megszakítani egy programot, de a lenti példában láthatod hogy a Msgbox-ra adott választ egy változóba lehet tenni, és ez alapján tudsz elágaztatni.
Sub KilepDemo()
Dim lngOsszeg As Long
Dim blnVege As Boolean
Dim vResponse
lngOsszeg = 0
blnVege = False
Do
'bekérünk egy számot
vResponse = Application.InputBox("Adj meg egy egyjegyű számot:", "Összegzés (eddig " & lngOsszeg & ")", , , , , , 1)
'ha egynél többet adtak meg, akkor rákérdezünk a kilépésre
If Len(vResponse) > 1 Then
vResponse = MsgBox("Hé nem figyeltél!", vbOKCancel, "Irgum-burgum")
'ha okét nyom akkor kilépünk a ciklus végén
If vResponse = vbOK Then blnVege = True
Else
'ha egy számot adott meg akkor számolunk vele
lngOsszeg = lngOsszeg + vResponse
End If
'addig maradunk a ciklusban míg ki nem léphetünk
Loop Until blnVege
End Subüdv.
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
thee
csendes tag
válasz the radish #19341 üzenetére
[ Szerkesztve ]
-
Mutt
aktív tag
válasz the radish #19489 üzenetére
Hali,
Jó lesz az, csak a csv formátumot is hozzád kell fűznöd vagyis kell elé a &-jel.
DIM valtozo$
valtozo$=Cstr(Range ("A1").Value) 'biztosra megyünk hogy szöveges értéket kapjunk
ActiveWorkbook.SaveAs Filename:=utvonal$ & valtozo$ & ".csv", FileForm.....Fontos, hogy az útvonal végén legyen backslash. Ezt így tudod ellenőrizni és javítani.
If Right(utvonal$, 1) <> "\" Then utvonal$ = utvonal$ & "\"
üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Delila_1
Topikgazda
válasz the radish #19859 üzenetére
Egy cellában kikerestetjük, a C oszlopban hányadik sorban van az utolsó érték. Keresési értékként egy olyan nagy számot adunk meg, ami biztosan nem szerepel a C oszlopban. A cella legyen a példában az E1.
=HOL.VAN(999999;C:C;1)Az összegző képlet
=SZUM(INDIREKT("B1:B"&$E$1))A második képletben a $E$1 helyére beillesztjük annak a képletét, és akkor nincs szükség az eredeti kereső függvényre a külön cellában.
=SZUM(INDIREKT("B1:B"&HOL.VAN(999999;C:C;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
Topikgazda
válasz the radish #19861 üzenetére
Szívesen.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Mutt
aktív tag
válasz the radish #19859 üzenetére
Hello,
Azaz a B oszlopban is csak addig az celláig legyen SZUM érték, ameddig a C oszlopban is van érték.
Delila_1 megoldása mellett ez is működik:
=SZUM(ELTOLÁS(B1;0;0;ÖSSZESÍT(15;6;SOR(C:C)/ÜRES(C:C);1)-1))C-oszlop első üres mezőjéig összesíti a B-oszlopot.
üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
lappy
őstag
válasz the radish #19892 üzenetére
megoldás erre, ami akár negatív, akár pozitiv érték és ha közben van üres cella is
=INDIREKT(CÍM(HA(HOL.VAN(-100000000;E:E;-1)>HOL.VAN(0;E:E;-1);HOL.VAN(-100000000;E:E;-1);HOL.VAN(0;E:E;-1));5))
ahol E az ötödik oszlop, amiben keresünk.
Bámulatos hol tart már a tudomány!
-
lappy
őstag
válasz the radish #19961 üzenetére
Nem a macro szedi szét neked? Talán azt kellene megnézni, hogy mit is csinál és utána azt a részt törölni.
Bámulatos hol tart már a tudomány!
-
Delila_1
Topikgazda
válasz the radish #20018 üzenetére
A képlet, ha a szöveged az A1 cellában van:
=JOBB(A1;HOSSZ(A1)-SZÖVEG.TALÁL(")";A1)-1)*1
Ezt másolhatod a többi adatod mellé.
Szerk.: a szövegegyezésről szóló részt nem értem.
[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Mutt
aktív tag
válasz the radish #20018 üzenetére
Hello,
A SZUMHA függvényben használhatóak a joker karakterek (* tetszőleges számú karaktert, a ? egy karaktert tud helyettesíteni).
A képleted tehát: =SZUMHA(A:A;"Horváth*";B:B)
Ha pedig az első szöközig van a keresési kifejezésed, akkor: =SZUMHA(A:A;BAL(A1;SZÖVEG.KERES(" ";A1))&"*";B:B)
üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Delila_1
Topikgazda
válasz the radish #20125 üzenetére
A kérdésed szerint ha az A1 cella üres, akkor legyen, vagy ne valami. Később azt írod, hogy ha 0, akkor... Nem mindegy. Melyik az igazi?
Az első 7 sor helyett ezt írhatod, és ez a többi részre is vonatkozik:
Sheets("00").Range("S7,U7:V7").Copy
Sheets("Vágólap").Range("I2").PasteSpecial Paste:=xlPasteValuesAz utána következő részben láthatóvá teszed a Csekk.xls füzetet, de ezzel nem az lesz az aktív. Nem derül ki számomra, hogy melyik füzet tartományát akarod nyomtatni.
Miért szelektálsz néhány cellát a mentés előtt (Range("A6:C6").Select)?
Többször írod a feltételt, de mindegyik rész csak akkor fusson, ha egy bizonyos cella értéke 0. Ha az érték 1, akkor mi fusson, hiszen nincs "következő" ?
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
detroitrw
addikt
válasz the radish #20133 üzenetére
adatok/adateszközök/ismétlődések eltávolítása?
-
Delila_1
Topikgazda
válasz the radish #20131 üzenetére
Sub Feltetel()
Dim sor As Long
For sor = 1 To 18
If Cells(sor, "A") = 1 Then Cells(sor, "B").Copy Sheets("MásikLap").Cells(sor, "I")
Next
End SubA feltétel sorában a másolás helyét (Copy és szóköz után) írd át.
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
Topikgazda
válasz the radish #20133 üzenetére
Adatok | Szűrő | Irányított szűrő | Csak az egyedi rekordok megjelenítése.
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
Topikgazda
válasz the radish #20138 üzenetére
Szívesen.
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
Topikgazda
válasz the radish #20157 üzenetére
Sub Feltetel()
Dim sor As Long
For sor = 1 To 18
If Cells(sor, "A") = 1 Then
Cells(sor, "B").Copy Sheets("MásikLap").Range("A1")
Sheets("MásikLap").Range("A1:I30").PrintOut Copies:=1, Collate:=True
End if
Next
End SubA másolás területét írd át a saját területed címére.
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
Topikgazda
válasz the radish #20163 üzenetére
Szívesen.
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
Topikgazda
válasz the radish #20165 üzenetére
Range("B" & sor & ":C" & sor).Copy
Sheets("MásikLap").Range("A1").PasteSpecial Paste:=xlPasteValuesNem lesz tapsikoló figura, ha kijelölöd a képletet, és Konvertálatlan gombot nyomsz.
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
Topikgazda
válasz the radish #20167 üzenetére
Örülök, hogy sikerült.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
the radish
senior tag
válasz the radish #20172 üzenetére
Közben megoldódott.
Ha valakit érdekel:
[link]
Új hozzászólás Aktív témák
- Bontatlan - BATTLEFIELD 1 Collectors Edition - Játékszoftver nélkül
- Windows 10/11 Home/Pro , Office OEM/Retail kulcsok
- Vírusirtó, Antivirus VPN kulcsok
- Microsoft licencek KIVÉTELES ÁRON AZONNAL - UTALÁSSAL IS AUTOMATIKUS KÉZBESÍTÉS - Windows és Office
- Megmaradt - Eredeti Humble, Choice - Steam kulcsok