Hirdetés
- Luck Dragon: Asszociációs játék. :)
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- Magga: PLEX: multimédia az egész lakásban
- eBay-es kütyük kis pénzért
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- gerner1
- Klaus Duran: HP wifi nyomtatás+ win11.
- droidic: [Memory Leak] Az agy defragmentálása
-
LOGOUT
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
Lasersailing
#40592
üzenetére
Pff, összekevertem az even-t az iseven-nel

-
válasz
Lasersailing
#40588
üzenetére
Miért kell az
=row()az=even(row())=row()végére? -
válasz
macilaci78
#40379
üzenetére
-
Sziasztok! Olyan VBA-t keresek, ami tetszőleges méretű QR-kódot tud generálni, cellák formázásával (nem shape-pel).
-
Formázás nagyon sokat foglal pl. ha sorokat vagy oszlopokat formázol és után kezdesz hozzáadni vagy elvenni sorokat vagy oszlopokat.
Illetve a szélesség/magasság változtatás, vagy a cella(érték)típus módosítás is is szépen meg tudja dobni a fájlméretet.
Book1 - 9*9-es tábla
Book2 - 9*9-es tábla, copy/paste format az egész 9 oszlopra
-
VBA megoldást találtam hirtelen:
Sub SplitColumn()
'Updateby20141106
Dim rng As Range
Dim InputRng As Range
Dim OutRng As Range
Dim xRow As Integer
Dim xCol As Integer
Dim xArr As Variant
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type: = 8)
xRow = Application.InputBox("Rows :", xTitleId)
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type: = 8)
Set InputRng = InputRng.Columns(1)
xCol = InputRng.Cells.Count / xRow
ReDim xArr(1 To xRow, 1 To xCol + 1)
For i = 0 To InputRng.Cells.Count - 1
xValue = InputRng.Cells(i + 1)
iRow = i Mod xRow
iCol = VBA.Int(i / xRow)
xArr(iRow + 1, iCol + 1) = xValue
Next
OutRng.Resize(UBound(xArr, 1), UBound(xArr, 2)).Value = xArr
End Sub -
válasz
Delila_1
#40117
üzenetére
Igazából fogalmam sincs mi volt a kérdés, mert az I:J oszlopok nem látszanak a képen - így nem tudom hogy 0-t hoz át, vagy üres cella helyett jelenít meg nullát

Amúgy ha nulla a forrásérték is, akkor én cellaformázással tüntetném el, mert az gyorsabb (és szerintem tisztább), mint kétszer fkeresezni.
-
válasz
Juditta_56
#35589
üzenetére
Az adott fájlban igen.
-
Kellene az összes, így (A - értékek, B - max helyek, C - max értékek)?

B oszlopba a függvények (B2, majd lehúzni) - B2 feletti mezőt üresen kell hagyni!):
=IFERROR(MATCH(MAX($A$2:$A$23),OFFSET($A$2,B1,0,COUNTA($A$2:$A$23)-B1),0)+B1,"")C oszlopba a függvények (C2):
=IFERROR(INDEX($A$2:$A$23,B2,1),"")Ha a B oszlop fölé kötelező fejléc, akkor
B2:=MATCH(MAX($A$2:$A$18),$A$2:$A$18,0)B3 (és ezt lehúzni az aljáig):
=IFERROR(MATCH(MAX($A$2:$A$23),OFFSET($A$2,B2,0,COUNTA($A$2:$A$23)-B2),0)+B2,"")Megjegyzés - a B oszlopban a tömbben a relatív helyet adja vissza a függvény, nem a tényleges sort.
-
válasz
Delila_1
#35525
üzenetére
Használatra példák:
=RegExExtract(A1)- kiszedi a valamelyik nyitó ([{ és valamelyik záró )]} közül a szöveget=RegExExtract(A1,"","@")- kiszedi az emailcím elejéről a nevet=RegExExtract(A1,"@","")- kiszedi az emailcím végéről a szervert=RegExExtract(A1,"[","]", True)- kiszedi a szögletes zárójeles szöveget (úgy hogy a zárójelet is visszaadja)RegExExtract.bas
Option Explicit
Dim rx As Object
Const REPLACABLE = "()[]{}-+*.\"
Public Function RegExExtract(Text As String, Optional StartMarker As String = "([{", Optional EndMarker As String = "}])", Optional Include As Boolean = False) As String
Dim sm As String
sm = ""
If StartMarker <> "" Then
Dim ix
For ix = 1 To Len(StartMarker)
If InStr(REPLACABLE, Mid(StartMarker, ix, 1)) > 0 Then
sm = sm & "\" & Mid(StartMarker, ix, 1)
Else
sm = sm & Mid(StartMarker, ix, 1)
End If
Next
sm = "[" & sm & "]"
End If
Dim em As String
Dim im As String
em = ""
im = ""
If EndMarker <> "" Then
For ix = 1 To Len(EndMarker)
If InStr(REPLACABLE, Mid(EndMarker, ix, 1)) > 0 Then
em = em & "\" & Mid(EndMarker, ix, 1)
Else
em = em & Mid(EndMarker, ix, 1)
End If
Next
im = "[^" & em & "]*"
em = "[" & em & "]"
Else
im = ".*"
End If
Dim rxt As String
If Include Then
rxt = "(" & sm & im & em & ")"
Else
rxt = sm & "(" & im & ")" & em
End If
If rx Is Nothing Then
Set rx = CreateObject("vbscript.regexp")
rx.IgnoreCase = True
rx.Global = True
rx.MultiLine = True
rx.Pattern = rxt
ElseIf rx.Pattern = rxt Then
'cached
Else
rx.Pattern = rxt
End If
Dim Matches
Set Matches = rx.Execute(Text)
If Matches.Count > 0 Then
Dim M
For Each M In Matches.Item(0).SubMatches
If M <> "" Then
RegExExtract = M
Exit For
End If
Next
Else
RegExExtract = ""
End If
End Function -
válasz
stigma
#35498
üzenetére
Szerintem ez nem verzió, hanem Locale függő (hogy pont-tal felveszi-e a dátomut).
A biztonság kedvéért mindenhol célszerű az egyértelmű formátumban megadni. Legegyszerűbb az ISO formátum (YYYY-MM-DD), ezt mindenképp meg kell egye.
Álatalában még a YYYY/MM/DD formátumot is elfogadják a parserek, mert ez is egyértelmű és alapértelmezett elválasztót használ. -
gondolom nem Sheet1 a munkalap objektum neve.
Ehelyett ez kell:
Worksheets("Munkalap neve").ChartObjects(1).Activate
Ha több chart is van a sheet-en akkor lehet, hogy a ChartObjects(1) helyett (2) vagy nagyobb szám kell.De ugye az is megvan, hogy a következő sorban is a helyes referenciát kell adni. Oda mutasson, ahol a felirat értékek vannak és pontosan annyi legyen (és olyan felosztásban), amennyi sor és oszlop van:
ertekek_tabla = "B8:E11" -
2003-ban is van ilyen. Beállítod, hogy mutassa az értékeket az oszlopok felett és egyesével belekattintva meg tudod változtatni annak az értékét.
Makróval:
Sub Feltolt()
Sheet1.ChartObjects(1).Activate
ertekek_tabla = "B8:E11"
sor = Range(ertekek_tabla).Row
oszlop = Range(ertekek_tabla).Column
Dim c As Range
For Each c In Sheet1.Range(ertekek_tabla)
ActiveChart.SeriesCollection(c.Row - sor + 1).Points(c.Column - oszlop + 1).DataLabel.Text = c.Value2
Next
End Sub -
válasz
PeLa87
#35312
üzenetére
Másolás, beillesztés, egyedi szűrése
Vagy pedig a következő módon worksheet függvényekkel és/vagy VBA-val: [link]Függvény az egyedi cégnevek előállítására:
=IFERROR(INDEX(Sheet1!$A$1:$A$18, MATCH(0,COUNTIF(INDIRECT("R1C:R[-1]C",FALSE), Sheet1!$A$1:$A$18), 0)),"")1) Sheet1!$A$1:$A$18 - ezt kell cserélni arra az sheet/oszlopra, amiben az 1.es munkalapon a cégnevek vannak
2) a 2-es munkalapon a leszűrt cégnevek tábla első adat sorába, Pl A2 (fejléc kötelező, ami nem egyezik egyik cégnévvel sem) bemásolni a fenti képletet
3) Array formulaként bevinni (SHIFT+CRTL+ENTER)
4) Minimum annyi sorra lehúzni, amennyi cég lehet (de lehúzható akár 100-200 sorra is, az utolsó egyedi érték után üres mezők lesznek
5) a 2-es munkalap következő oszlopának első adatmezőbe ezt beilleszteni és lehúzni:=IF(INDIRECT("RC[-1]",FALSE)<>"",SUMIF(Sheet1!A:A, INDIRECT("RC[-1]",FALSE),Sheet1!B:B),"")
- INDIRECT("RC[-1]",FALSE) - opcionálisan cserélhető a bal oldali elemre való hivatkozással (B2-be a függvényt beírva A2-re)
- Sheet1!A:A - 1-es munkalapon a cégnév oszlop
- Sheet1!B:B - 1-es munkalapon a összeg oszlop -
válasz
BullZeye
#35295
üzenetére
=SUM(OFFSET($A$2,0,0,ROW(INDIRECT("R[-1]C[0]",FALSE))-ROW($A$2),1))Ahol a $A$2 az oszlop első eleme.
Illetve full R1C1 kóddal sokkal egyszerűbb (A2-től a SUM sor fölötti elemig):
=SUM(INDIRECT("R1C2:R[-1]C",FALSE))Illetve, ha R1C1 módba kapcsolod az Excelt, akkor indirect sem kell:
=SUM(R1C2:R[-1]C) -
válasz
csferke
#35236
üzenetére
Nekem 2013-am van és hiba nélkül végrehajtja ezt az utasítást (Prompt = ...).
Ahogy nézem a library nincs meg a gépen, vagy nincs behivatkozva:
"Visual Basic for Applications"
xpos, ypos - nem lehet, hogy option explicit van a kód elején és nincs inicializálva (vagy esetleg nem nem jó a tipus?)
Ezt találtam még:
Office 2013 változásokElképzelhető, hogy 64-bites Office van fenn, és emiatt vannak problémák.
-
válasz
Dilikutya
#35227
üzenetére
Nincs ilyen beállítás. Csak akkor nem lóg át, ha:
- van valami a szomszéd cellában (pl egy szimpla aposzttrof - szövegjelölő, nem fog cáltsznai a cellában)
- ha szövegkitöltésre vagy sortörésre (wrap, justify, distributed - indent) van állítva a formázás
- ha szöveg kicsinyítés be van állítva (shrink) - hosszú szövegnél olvashatatlan
- ha a szövegismétlés (fill) be van állítva - ha kevesebb a szöveg, mint a cella hossza, akkor ismétli a szöveget, amíg be nem tölti a cellát -
válasz
RAiN91
#35205
üzenetére
Amennyiben szigorúan (szám) 1,2,3, akkor:
=CHOOSE(A1,"X","Y","Z")Bocsánat
=CHOOSE(A1,"y","x","z")
Egyébként (pl szöveg - vagy akármi - "1", "2", "3" -> "y", "x", "z"):
=CHOOSE(MATCH(A1,{"1","2","3"},0),"y","x","z")És az egészet be lehet tenni egy IFERROR-ba, hogy a lehetséges kivételeket lekezeljük:
=IFERROR(CHOOSE(MATCH(A1,{"1","2","3"},0),"y","x","z"),"Nem 1, 2 vagy 3") -
válasz
Melorin
#35177
üzenetére
Kód:
=OFFSET(C1,MATCH(A24,$A$1:$A$21,0)+MATCH(B24,OFFSET($B$1:$B$21,MATCH(A24,$A$1:$A$21,0)-1,0,ROWS($B$1:$B$21)-MATCH(A24,$A$1:$A$21,0)+1,1),0)-2,0)Esetleg módosítandó értékek:
C1 - ár oszlop első sora
$A$1:$A$21 - megnevezés oszlop
$B$1:$B$21 - méret oszlop
A24 - keresési felétel - megnevezés
B24 - keresési felétel - méret(persze a no price értékekkel nem fog tudni túl sok mindent kezdeni)
-
Van itt valaki, aki olyan mélységben ismeri a VBA bugyrait, hogy tudja, hogy hogy lehet .NET OLE objektumokat inicializálni és hivogatni? Főleg a statikus objektumok/függvények kezelése érdekelne.
mscorlib.dll - File.Open elérése és/vagy FileStream objektum létrehozása lenne a téma. -
válasz
batmanéhes
#35021
üzenetére
Igen, erre írtam, hogy szerintem csak VBA-val tudod megcsinálni, mert nem tudsz egybefüggő elemeket alkotni.
Mondjuk így végiggondolva megoldható, csak kell egy rejtett sheet, aminek az első eleme egy 0, utána pedig mondjuk ~100 elem, ami egy Tömbfüggvénnyel van feltöltve a named-ranged-del, így:.
A
1 '0
2 {=ValidationList}
3 {=ValidationList}
4 {=ValidationList}
...
99 {=ValidationList}A ValidationExtended Named Range meg így néz ki:
=OFFSET(hiddensheet!$A$1,0,0,COUNTIF(hiddensheet!$A$1:$A$99,">'"),1)Fontos viszont, hogy a calculation ne legyen kikapcsolva...

-
-
válasz
batmanéhes
#35018
üzenetére
Nem egészen sikerült megértenem, hogy mit szeretnél (lehet, hogy csak a cukorsokk miatt) - tudnál valami vizuális segédletet adni, hogy mit szeretnél?
-
válasz
Delila_1
#34997
üzenetére
Általánosságban lehet, hogy egy range selctor kellene és akkor lehetne használi azzal az öszes beépített függvényt:
Function SzinSzerint(mintacella As Range, tartomany As Range) As Range
Set SzinSzerint = Nothing
Dim CV As Object
For Each CV In tartomany.Cells
If CV.Interior.Color = mintacella.Interior.Color Then
If SzinSzerint Is Nothing Then
Set SzinSzerint = CV
Else
Set SzinSzerint = Application.Union(SzinSzerint, CV)
End If
End If
Next
End Function -
-
-
válasz
Pikkolo^^
#34846
üzenetére
Kifutottam a szerkesztésből - bonyolultabb (segédoszlopos) megoldás:

1) Sárga terület TEXT formtumra konvertálása, utána szabadon tölthető (sajnos a lenti formula nem kezeli jól a szám és dátum formátumoú adatokat). B1 kötelezően üres marad.2) Zöld első mezőbe (B2) a következő Array formula kell (CTRL+ENTER - rel kell bevinni):
=IFERROR(INDEX($A$2:$A$11,MATCH(0,COUNTIF($A$2:$A$11,"<"&$A$2:$A$11)-SUM(COUNTIF($B$1:B1,$A$2:$A$11)),0)),"")3) Első zöld mezőt lehúzni a sárga aljáig
4) A következő Named Range felvétele (itt pl. Validation névvel):

=OFFSET(Sheet1!$B$2,0,0,COUNTIF(Sheet1!$B$2:$B$11,">'"),1)5) Validáláshoz a fenti Named Range behivatkozása:

-
válasz
DeFranco
#34810
üzenetére
Sajnos a Match és *Lookup függvények nem jók, mert bugos az array funkció kezelésük. Igazából a match bugos, mert ugyanazt a funkciót használja az összes lookup a háttérben. Szóval a match nem a megfelelő formátumú array-t adja vissza és így a többi sztenderd array-t kezelő függvény nem tudja feldolgozni, hanem csak ez első találatot veszi fel.
Sajnos csak kerülőúton lehet megcsinálni ugyanezt - sokat szívtam vele korábban.
Amúgy:
=SUMPRODUCT(COUNTIF($L2:$P2,$R$1:$V$1)) -
válasz
Gravity1234
#34740
üzenetére
Itt a helyes függvény:
=SUM(COUNTIFS(Table2[PPM ID],[@[PPM ID]],Table2[Status],{"Not Started","Behind","Work in progress"}))Vagy a tiéddel:
=SUM(COUNTIFS('Issue tracker'!$B$4:$B$18,[@[PPM ID ]],'Issue tracker'!$F$4:$F$18,{"Not Started","Behind","Work in progress"})) -
válasz
Gravity1234
#34740
üzenetére
A countifs úgy működik, hogy mint az összes feltételnek meg kell felelnie... úgy kell megírni, hogy az összes feltétel teljesüljön...
-
válasz
Sprite75
#34736
üzenetére
Sub PDFment()
'
' PDFment Makró
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="\\TICKETNYOMTATO\Megosztott\Rendelés\" & Format(Now(),"yyyy.mm.dd.hh.mm") & ".pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
End Sub -
válasz
Gravity1234
#34733
üzenetére
Nem gond, pofonegyszerű:
=COUNTIFS(Table2[PPM ID],[@[PPM ID ]],Table2[Status],"Open")Table2-be raktam a Sheet2-n levő táblázatot:
Sheet1 - Table1 Sheet2 - Table2

-
-
válasz
Gravity1234
#34728
üzenetére
Cool

-
válasz
Gravity1234
#34726
üzenetére
Baszki, fordítva adtad meg a paramétereket (előre kell amiben, utána amit)

Így a jó - persze nekem sem tűnt fel elsőre...=COUNTIF('Issue tracker'!$B$4:$B$18,[@[PPM ID ]]) -
-
válasz
Gravity1234
#34721
üzenetére
Ez kell helyette:
=COUNTIF([[PPM ID ]],'Issue tracker'!$B$4:$B$18) -
válasz
Gravity1234
#34717
üzenetére
Milyen azonosítód van? Szám vagy szöveg, vagy kevert?
- Lehet, hogy nem adtad meg az egész range-edt amiben keresel
- Lehet az is, hogy nem fixáltad a range-et, ezért ahogy "megy lefelé" a függvény, úgy mászik el a keresett tartomány is:CountIf(Sheet2!A1:A9, A2)- ezt csinálja, ha lehúzod:C3 =COUNTIF(Sheet2!A2:A10,Sheet1!A3)
C4 =COUNTIF(Sheet2!A3:A11,Sheet1!A4)
C5 =COUNTIF(Sheet2!A4:A12,Sheet1!A5)
...
C100 =COUNTIF(Sheet2!A99:A107,Sheet1!A100)ehelyett ez kell:
COUNTIF(Sheet2!$A$2:$A$9,Sheet1!A3) -
válasz
Gravity1234
#34715
üzenetére
-
válasz
Gravity1234
#34711
üzenetére
A célcella lehet, hogy fixen TEXT-re (szöveg?) van állítva, lehet, hogy át kell tenni GENERAL-ra (általános?)
-
válasz
Gravity1234
#34709
üzenetére
-
válasz
Gravity1234
#34707
üzenetére
Tudsz, ott van pl a vlookup is:
=NOT(ISERROR(VLOOKUP($A2,Sheet2!$A:$A,1,0)))- Az $A2 az a cella az adott sorban - ahol a kijelölt (formázott) terület kezdődik - amelyiket ellenőrzöl.
- A Sheet2!$A:$A az az oszlop amiben a másik sheeten vannak az ellenőrzött azonosítók. -
válasz
tonermagus
#34705
üzenetére
Google-fu: 4. találat
-
válasz
tonermagus
#34703
üzenetére
Tagolt, Speciális elválasztó: CTRL+J
Új hozzászólás Aktív témák
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Nikon Z MILC fényképezőgépcsalád
- Milyen légkondit a lakásba?
- Mikrotik routerek
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Építő/felújító topik
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- World of Tanks - MMO
- Úgy állhat le a 16 GB-os GeForce RTX 5060 Ti gyártása, hogy közben nem áll le
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- További aktív témák...
- Játékkulcsok ! : PC Steam, EA App, Ubisoft, Windows és egyéb játékok : (12.20.)
- Gyermek PC játékok
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Windows 10/11 Home/Pro , Office 2024 kulcsok
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Apple iPhone 15 128 GB Kék 12 hónap Garancia Beszámítás Házhozszállítás
- BESZÁMÍTÁS! ASRock H510M i5 11400F 16GB DDR4 512GB SSD ASUS ROG RX VEGA64 8GB CM Masterbox 5 700W
- Akko 3098 /DE/PBT/RGB/Wireless/Hot swap/Yellow/Crystal switch
- 134 - Lenovo Legion Pro 7 (16IRX8H) - Intel Core i9-13900HX, RTX 4090 - 3 év garancia
- iPhone 16 Pro 128GB Desert Titanium -1 ÉV GARANCIA -Kártyafüggetlen, MS4161, 91% Akksi
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest











22 a számok és B26:28-ban az alsó tábla betűi:







