- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- gban: Ingyen kellene, de tegnapra
- sziku69: Szólánc.
- Elektromos rásegítésű kerékpárok
- Magga: PLEX: multimédia az egész lakásban
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Imilenni: Egy kis depi, remélem elfér itt :) 2#
- hcl: Kelj fel komám, ne aludjál
-
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
-
mdk01
addikt
A1 cellába beírod 7:00
B1 cellába beírod 16:30
C1 cellába beírod =B1-A1Ekkor a C1 celládba megfog jelleni az A1 és a B1 különbözete tehát a 9:30
Ezután mehetsz tovább a cellákba lefele A2-A3-A4 majd C1 cellában található =B1-A1 a függvényt lemásolod úgy hogy a cella jobb alsó sarkában található fekete pontot lenyomva meghúzod lefele.
Ez után már csak a C oszlop összes celláját kell szummáznod és megvan az egész havi munkaóra. -
oszy
veterán
Srácok! Időpontokat akarok összeadni. Jelenléti ív féleséget akarok csinálni, de a végén össze kell adnom külön, ki mennyi időt töltött munkával. Köszönöm!
-
Delila_1
veterán
válasz
csongi #22493 üzenetére
Azért nem jön össze, mert elfelejtettem megírni, hogy a makró bevitele után makróbarátként (xlsm kiterjesztéssel) kell elmenteni a fájlt.
Tettem egy gombot a Munka2 lapra, ami indítja a makrót. Mikor változnak ezen a lapon az adataid, csak a gombra kell klikkelned.
Szerk.: közben megoldottad.
-
csongi
veterán
Lehet mégis sikerült
Egy kicsit gondolkozni kellett. Egy picit hisztis napjaim vannak
Köszönöm a segítséged!
-
slashing
senior tag
válasz
Fferi50 #22488 üzenetére
Ahogy előttem is mondták nem mindegy hogy az oszlop vagy sor van abszolót hivatkozva
itt tök jól látszik hogy az 'A' oszlop összes sorát figyeli ha nagyobb vagy egyenlő 5-nél akkor a teljes C oszlopban bejelöli azt a cellát.
A feltételes formázás képletnél az egyenlőség jel az egy HA függvényel egyenértékű.Jah pont fordítva kellett volna
de a lényeg látszik. A képletben az $A1-et átírod C-re az érvényességben meg a C-t átírod A-ra
-
Fferi50
Topikgazda
válasz
DrojDtroll #22487 üzenetére
Szia!
Feltételes formázás kijelölése képlettel. A képletbe pedig beírod azt a cellát, amelyiknek az értékét szeretnéd figyelni:
pl. =c1>2,
A hatóköre pedig az a1 cella.De! figyelj az abszolut és relatív hivatkozásokra (dollár jel vagy anélkül nem mindegy).
Üdv.
-
-
DrojDtroll
veterán
Hogyan lehet az megcsinálni a feltételes formázásnál hogy nem az az oszlop legyen formázva amelyiknek az értékét nézzük hanem pl. a tőle hárommal balra lévő???
pl.:
nev eretek ertek2
nev eretek ertek2
nev eretek ertek2
nev eretek ertek2
nev eretek ertek2
nev eretek ertek2
nev eretek ertek2az ertek2 szerint legyen formázva a nev
-
TomTeke2
csendes tag
válasz
Fferi50 #22478 üzenetére
itt lehet a bibi...mindent a leírtak szerint csinálok, de a vezérlő üres marad. Ha beviszek egy adatot az A9-be és ENTERezek, akkor az megjelenik a vezérlőben, de más adat nem.
Nekem pont az lenne a lényeg, hogy ha elkezdem beírni pl. azt hogy: "ASKC" Akkor dobja ki azokat az adatokat amik így kezdődnek. Lényegében karakterenként szűkítse a lehetséges találatokat, valahogy úgy mint ha egy oszlopot töltenék fel hasonló, vagy azonos adatokkal.
-
Fferi50
Topikgazda
válasz
TomTeke2 #22477 üzenetére
Szia!
A Listfillrange tartományt egyenlőségjellel kell bevinni: =daten!$E$3:$E$246
Ezután elvileg ha beírsz egy helyes értéket az A9 cellába, akkor annak meg kellene jelennie a vezérlőben, illetve fordítva, ha kiválasztasz egy értéket a vezérlőben, akkor annak az A9 cellába "illik" kerülni.
Üdv.
-
TomTeke2
csendes tag
válasz
alfa20 #22475 üzenetére
Szerintem így csináltam, de azért leírom a biztonság kedvéért
:
LinkedCell: Az adott lap cellája ahova az adatot szeretném bevinni, jelen esetben $A$9 (ez egy összevont cella, nem tudom van-e jelentősége)
ListFillRange: Az a tartomány, ahonnan neki az egyezéseket kellene kidobni, jelen esetben Daten! $E$3:$E$246.
Ezután ez jelenik meg a szerkesztőlécen:
=BEÁGYAZ("Forms.ComboBox.1";"")
Ha nem kattintok bele és rákattintok az A9-re, hiába írok bármit ami a listában tuti szerepel, nem dob egyezést, ha meg belekattintok, akkor utána már nem tudok belőle kilépni, folyamatosan hibás képletet jelez.Bocs hogy itt értetlenkedem, de ActiveX vezérlőt még soha sem használtam.
-
TomTeke2
csendes tag
Sziasztok!
Egy kis segítséget kérnék, mert baromira elakadtam.
Van egy legördülő listám, amiben közel 200 cella közül lehet válogatni. Mivel sok adat ugyanúgy kezdődik (pl.: KK ASKC ASV) jó lenne, ha nem a listában kellene folyton keresgélni, hanem ha elkezdem beírni a szöveget akkor dobja fel a lehetséges egyezéseket.Jó kacifántosan írtam le a problémát, de remélem érthető és orvosolható is.
A válaszokat előre is köszi!
Üdv.: TomTeke
-
alfa20
senior tag
köszönöm mind kettőtöknek!
-
Fferi50
Topikgazda
válasz
alfa20 #22467 üzenetére
Szia!
A global változót a modul elején kell definiálni nem pedig az eljárásban!
Modul elején (declarations részben) Global fajl1 as string
Így a Sub -ban már nem kell újra deklarálni.A második sub-ban is teljesen félreértettél. Ha Global a definíció, akkor nem kell a zárójeles paraméter, a global hivatkozás pedig pláne nem.
(Nem nézted meg a példám....)Összekeverted a két verziót....
Tehát
vagy:
Global fajl1 as string
sub egyik()
fajl1=activeworkbook.name
end subsub masik()
msgbox fajl1
kódok
end subvagy:
sub egyik()
dim fajl1 as string
fajl1=activeworkbook.name
masik fajl1
end subsub masik(byval fajlnev as string)
msgbox fajlnev
kódok
end subÜdv.
-
Delila_1
veterán
válasz
alfa20 #22467 üzenetére
Így is átadhatod a változó értékét:
Sub indit()
Dim fajl1 As String
fajl1 = ActiveWorkbook.Name
vizsgal fajl1 'itt adod át a változót
End Sub
Sub vizsgal(fajl1) 'itt fogadod a változót
MsgBox fajl1
End SubA beírt példádban mindkét makrót End Sub() módon zártad le, hibásan. Ott már nem lehet zárójelpár.
A 2. makród végéről kivettem az indit makró meghívását, hiszen az egy végtelen ciklust hozott létre. -
alfa20
senior tag
lehet nem jól értem, de ezeket próbáltam és nem jók hibára fút
1.)Sub KP_rnd()
Global fajl1 As String
kódok
End Sub2.)
Sub KP_rnd(Global fajl1 As String)
kódok
End Sub -
Fferi50
Topikgazda
válasz
alfa20 #22464 üzenetére
Szia!
Két verzió lehet
az egyik, hogy Global változónak declarálod a fajl1 változót a modul elején (Global fajl1 as string), de lehet Public fajl1 as string és akkor a másik modulban a modulnév.fajl1 módon hivatkozhatsz rá.
a másik, a vizsgal makrót így alkotod meg:
sub vizsgal (byval fajlnev as string)
msgbox fajlnev ' szándékosan nem fajl1, hogy lásd a különbséget
end sub
A meghívása pedig vizsgal fajl1Üdv.
-
Fferi50
Topikgazda
válasz
slashing #22401 üzenetére
Szia!
Most láttam a képletedet. Ha 2010-es exceled van, akkor majdnem fele ennyiből megúszhatod a HAHIBA függvény alkalmazásával:
=HAHIBA(BAL(FKERES(W3;Táblázat2;6;0);SZÖVEG.KERES(";";FKERES(W3;Táblázat2;6;0))-1);HAHIBA(BAL(FKERES(W3;Táblázat2;6;0);SZÖVEG.KERES("-";FKERES(W3;Táblázat2;6;0))-1);FKERES(W3;Táblázat2;6))) & " " & HAHIBA(BAL(FKERES(W3;Táblázat2;8;0);SZÖVEG.KERES(";";FKERES(W3;Táblázat2;8;0))-1);HAHIBA(BAL(FKERES(W3;Táblázat2;8;0);SZÖVEG.KERES("-";FKERES(W3;Táblázat2;8;0))-1);FKERES(W3;Táblázat2;8)))Üdv.
-
alfa20
senior tag
Sziasztok,
Globális váltózóban tud nekem valaki segíteni?
Amit szeretnék:
indítok egy makrót ami ami futás közben egy másik modulban lévő makrót meghív ('vizsgal') lefuttatja majd visszatér az eredeti 'indit' makróhoz, viszont az indít makró az alap .xlsx fájlt eltárolja egy változóban ('alaptabla.xlsx') és a 'vizsgal' makrónak erre a váltózóval kellene dolgozni.röviden:
sub indit()
dim fajl1 as string
fajl1 = ActiveWorkbook.Name
vizsgal
end sub()
sub vizsgal()
msgbox fajl1
indit
end sub() -
Mauzes
addikt
válasz
slashing #22462 üzenetére
Most csak annyit csináltál, hogy az iferror meg row parancsokat magyarra írtad és vessző helyett pontosvesszőt tettél?
Nekem angol nyelvű excel-em van, és a képletet beírva (angol parancsokkal) azt írja, hogy "this function is not valid" és mikor nyomok erre egy OK-t, akkor kijelöli a "filter" parancsot...
-
mdk01
addikt
válasz
Delila_1 #22454 üzenetére
Sikerült megérteni, köszönöm.
Igazából mint írtam az alsó kötjel helyett lehet az is normál kötjel, tehát elég csak egyszer megtagolni normál kötjellel ha az alsó kötjelet kicserélem.Köszönöm még egyszer így ez teljesen rendben van.
Már csak ezt a makro-t nem értem, mert én tök hülye vagyok ezekhez a personal-os, modulos, makro-s dolgokhoz.
Ezzel a makro-val mit tudok csinálni?
Nekem ezek a számsorozatok a G3 cellától indulnak lefele, ha ez számít vmit.
Köszi -
Mauzes
addikt
Sziasztok!
Valaki meg tudja mondani, hol vagy miért van hiba ebben a képletben? A Google Drive értelmezi, de az Excel már nem (offline sem). A képletnek egy másik fülről (Transactions) kellene behúznia adatot. (C: után szóközt tettem, hogy ne szmájlizza)
=iferror(INDEX(arrayformula(filter(Transactions!J:J,Transactions!C: C<>"",row(Transactions!C: C)=max(if(Transactions!C: C=B5,row(Transactions!C: C),0)))) ;1),0)
-
Delila_1
veterán
válasz
csongi #22457 üzenetére
Nem kell semmit rágnod
Alt+F8-ra bejön egy ablak, amiben kiválasztod, és indítod a cikksz nevű makrót.
Persze ehhez be kell másolnod. Alt+F11-gyel bejutsz a VB szerkesztőbe. Bal oldalon kiválasztod a füzetedet.
Insert | Module. Jobb oldalon a kapott nagy fehér területre bemásolod a makrót. Vissza a füzetbe, mentés.
Ezt a műveletet 1× kell elvégezni. -
Delila_1
veterán
válasz
csongi #22448 üzenetére
Csúnya, olvashatatlan lett a makró külalakja a tabulátor helytelen használata miatt, elnézést. Inkább újra beírom.
Sub cikksz()
Dim sor As Long, sor1 As Long, sor2 As Long, lel
Application.ScreenUpdating = False
sor = 1: sor2 = 1
Do While Cells(sor, "A") <> ""
If Application.CountIf(Columns(4), Cells(sor, "B")) > 0 Then
Set lel = Columns(4).Find(Cells(sor, "B"), LookIn:=xlValues)
sor1 = lel.Row
Cells(sor2, "I") = Cells(sor, "A")
Cells(sor2, "K") = Cells(sor, "B")
Cells(sor2, "M") = Cells(sor, "C")
Cells(sor2, "J") = Cells(sor1, "F")
Cells(sor2, "L") = Cells(sor1, "E")
sor2 = sor2 + 1
End If
sor = sor + 1
Loop
Application.ScreenUpdating = True
End Sub -
Delila_1
veterán
válasz
csongi #22448 üzenetére
Makró a 2. táblázat létrehozásához:
Sub cikksz()
Dim sor As Long, sor1 As Long, sor2 As Long, lel
Application.ScreenUpdating = False
sor = 1: sor2 = 1
Do While Cells(sor, "A") <> ""
If Application.CountIf(Columns(4), Cells(sor, "B")) > 0 Then
Set lel = Columns(4).Find(Cells(sor, "B"), LookIn:=xlValues)
sor1 = lel.Row
If Not IsError(sor1) Then
Cells(sor2, "I") = Cells(sor, "A")
Cells(sor2, "K") = Cells(sor, "B")
Cells(sor2, "M") = Cells(sor, "C")
Cells(sor2, "J") = Cells(sor1, "F")
Cells(sor2, "L") = Cells(sor1, "E")
sor2 = sor2 + 1
End If
End If
sor = sor + 1
Loop
Application.ScreenUpdating = True
End Sub -
Delila_1
veterán
Ehhez nem kell felhasználói függvény.
Kijelölöd a tartományt, Adatok | Szövegből oszlopok menü. Tagolt, határoló jel a kötőjel. Ez szétbontja az adatokat az A:D tartományba. A D oszlopban lesz a két utolsó számjegy, alsó kötőjellel elválasztva.
Kijelölöd a D oszlop adatait, újra Szövegből oszlopok, itt a tagoló jel az alsó kötőjel.
Ennyi, csupán néhány kattintás.
Rögzítéssel makró hozzá – kicsit javítva:
Sub Rögzítés1()
Dim usor As Long
usor = Range("A" & Rows.Count).End(xlUp).Row
Range("A1:A" & usor).TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
:="-", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1)), _
TrailingMinusNumbers:=True
Range("D1:D" & usor).TextToColumns Destination:=Range("D1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
:="_", FieldInfo:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
End Sub -
mdk01
addikt
válasz
Delila_1 #22441 üzenetére
Így már értem, köszi.
Viszont ezzel annyi a gondom, hogy mint azt írtam is a számok mindig változnak, tehát nem csak az alsóvonás és a kötjel közötti. Slashing hsz.-a zavarhatott meg amiben kiemelte az alsóvonás előtti 0,4-es számot.
Viszont közben gondolkodtam és olyat nem lehet vizsgáltatni hogy valahányadik kötőjel előtti vagy utáni Xdarab karaktert adja eredményül? Viszont ami lehet még egyszerűbb, hogy a 2. és 3. kötőjel között X darab karakter legyen az eredmény?
Ezt a sorozatot(2-2-0-0,4_22) én generálom amúgy egy tervező programból, ha az segít az alsó vonás is lehet kötjel. -
csongi
veterán
Sziasztok!
Az alábbit szeretném képletezni.
B és D oszlopom cikkszámokat tartalmaz. Azokat cikkszámokat amelyek mind két oszlopban szerepelnek szeretném ha átkerülnének egy másik oszloba, úgy hogy B oszlop cikkszámaival együtt kerüljön áthelyezésre az A és a C oszlop értékei, mind kettő külön oszlopba. D oszlophoz pedig az E és F oszlop értékei tartoznak hozzá.
Vagyis a képen látható mit szeretnék színekkel jelöltem hogy érthetőbb legyen. Előre is köszönöm. -
Delila_1
veterán
Ennél az A:D tartományból számolsz valamit a kalkulátor lapon. Ha úgy írnám, ahogy mondtad, az eredmény minden sorból a lista lap E2 és F2 cellájába kerülne, felülírva az előző adatokat. A másolást az E2 és F2 cellába tettem első esetben, a továbbiakat rendben ezek alá.
Sub Valami()
Dim sor As Long, WS As Worksheet, sor1 As Long
Set WS = Sheets("kalkulátor")
sor = 1: sor1 = 2
Sheets("lista").Activate
Do While Cells(sor, "A") <> ""
Range("A" & sor & ":D" & sor).Copy
WS.Range("B2").PasteSpecial Paste:=xlPasteAll, Transpose:=True
WS.Range("O6").Copy
Range("E" & sor1).PasteSpecial xlPasteValues
WS.Range("R6").Copy
Range("F" & sor1).PasteSpecial xlPasteValues
sor = sor + 1: sor1 = sor1 + 1
Loop
End Sub -
zhari
csendes tag
válasz
Delila_1 #22442 üzenetére
Szeretnék egy olyan makrót ami:
A lista nevű munkalap A1:D1-t átmásolja a kalkulátor munkalap B2:B5-jébe (transzponálva) , utána a kapott eredményt ( kalkulátor O6-ból és R6-ból) a lista E1 és F1-be másolja. Majd a lista munkalap A2:D2 tartományát másolja a B2:B5-be , utána a kapott eredményt ( kalkulátor O6-ból és R6-ból) a lista E2 és F2.be másolja. Majd a lista munkalap A3:D3 .....
Előre is köszönöttel(Jópofa dolgok ezek a smiley-k, de remélem így már nem alakítja át őket.)
-
Delila_1
veterán
A függvényt egy speciális formához írtam, amilyent megadtál, pl. 2-2-0-0,4_22, vagy 2-2-0-2_22.
Számjegyeket kötöttél össze kötőjelekkel, végül egy alsó kötőjellel. A függvény azt a számot adja vissza, ami az utolsó kötőjel, és az alsó kötőjel között van.
A cella tartalmát vizsgálja a végétől az eleje felé haladva. Az
If Mid(cella, kar, 1) = "_" Then ig = kar
sor az alsó kötőjel pozícióját teszi be az ig változóba – kar a ciklusváltozó.
A lenti részlet az utoljára előforduló kötőjel +1 helyét teszi be a tol változóba, vagyis a kiírandó szám első karakterének a helyét.
If Mid(cella, kar, 1) = "-" Then
tol = kar + 1
Exit For
End IfItt már nem kell tovább vizsgálni a hivatkozott cella adatát, ki lehet lépni a ciklusból. Már csak a szám kiíratása van hátra.
Lehet, hogy a hivatkozott celláid formája nem egyezik meg azzal, amilyent megadtál, akkor nem kapsz jó eredményt, hiszen a függvényt kifejezetten az általad megadott kötőjel – alsó kötőjel formához írtam.
-
vamzi
senior tag
Szia,
Elhiszem, viszont nem valami kifinomult a PH keresője és lövésem sincs hogy keressek rá, hogy értékelhető találatot kapjak. A hsz-eket pedig kézzel nem szeretném áttúrni.
Jelenleg amúgy ott tartok, hogy kigugliztam egy olyan VBA kódot, ami minden táblázat első sheetjét összemásolja nekem. De mivel nem ismerem a nyelvet, így nem tudom kiegészíteni, hogy a többi sheetet is másolja át.
[link]
Sub MergeAllWorkbooks()
Dim MyPath As String, FilesInPath As String
Dim MyFiles() As String
Dim SourceRcount As Long, FNum As Long
Dim mybook As Workbook, BaseWks As Worksheet
Dim sourceRange As Range, destrange As Range
Dim rnum As Long, CalcMode As Long
' Change this to the path\folder location of your files.
MyPath = "C:\Users\Ron\test"
' Add a slash at the end of the path if needed.
If Right(MyPath, 1) <> "\" Then
MyPath = MyPath & "\"
End If
' If there are no Excel files in the folder, exit.
FilesInPath = Dir(MyPath & "*.xl*")
If FilesInPath = "" Then
MsgBox "No files found"
Exit Sub
End If
' Fill the myFiles array with the list of Excel files
' in the search folder.
FNum = 0
Do While FilesInPath <> ""
FNum = FNum + 1
ReDim Preserve MyFiles(1 To FNum)
MyFiles(FNum) = FilesInPath
FilesInPath = Dir()
Loop
' Set various application properties.
With Application
CalcMode = .Calculation
.Calculation = xlCalculationManual
.ScreenUpdating = False
.EnableEvents = False
End With
' Add a new workbook with one sheet.
Set BaseWks = Workbooks.Add(xlWBATWorksheet).Worksheets(1)
rnum = 1
' Loop through all files in the myFiles array.
If FNum > 0 Then
For FNum = LBound(MyFiles) To UBound(MyFiles)
Set mybook = Nothing
On Error Resume Next
Set mybook = Workbooks.Open(MyPath & MyFiles(FNum))
On Error GoTo 0
If Not mybook Is Nothing Then
On Error Resume Next
' Change this range to fit your own needs.
With mybook.Worksheets(1)
Set sourceRange = .Range("A1:C1")
End With
If Err.Number > 0 Then
Err.Clear
Set sourceRange = Nothing
Else
' If source range uses all columns then
' skip this file.
If sourceRange.Columns.Count >= BaseWks.Columns.Count Then
Set sourceRange = Nothing
End If
End If
On Error GoTo 0
If Not sourceRange Is Nothing Then
SourceRcount = sourceRange.Rows.Count
If rnum + SourceRcount >= BaseWks.Rows.Count Then
MsgBox "There are not enough rows in the target worksheet."
BaseWks.Columns.AutoFit
mybook.Close savechanges:=False
GoTo ExitTheSub
Else
' Copy the file name in column A.
With sourceRange
BaseWks.Cells(rnum, "A"). _
Resize(.Rows.Count).Value = MyFiles(FNum)
End With
' Set the destination range.
Set destrange = BaseWks.Range("B" & rnum)
' Copy the values from the source range
' to the destination range.
With sourceRange
Set destrange = destrange. _
Resize(.Rows.Count, .Columns.Count)
End With
destrange.Value = sourceRange.Value
rnum = rnum + SourceRcount
End If
End If
mybook.Close savechanges:=False
End If
Next FNum
BaseWks.Columns.AutoFit
End If
ExitTheSub:
' Restore the application properties.
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = CalcMode
End With
End Sub -
vamzi
senior tag
Sziasztok,
Hogyan tudnék sok apró, ám azonos felépítésű excelt 1 táblába rendezni?
Azt szeretném, ha egy mappán belül minden workbook, minden sheetje 1:1-ben kerüljön be egy új sheetbe ömlesztve.
Van erre valami megoldás?
Köszönöm.
-
mdk01
addikt
válasz
Delila_1 #22428 üzenetére
Köszi.
Én most egy bő félórája nézem amit írtál, meg próbálgatom excelbe, de nem jövök rá hogy ez a kötjel függvény mit is csinál. Mintha lenne vmi tol-ig, de nem jön ki eredmény...vagyis az elején még adott egy 2-est, de utána meg már azt sem pedig semmi nem változott,mintha megkavartam volna a függvényt.
Letudnád írni hogy hogyan használjam? -
xenom0rph
őstag
Sziasztok ,lenne egy alapfokú excel kérdésem, szerintem egyszerű a dolog de én sehogysem jövök rá, hogyan kéne ezt megcsinálni. Annyi lenne az egész ,hogy van egy oszlop pl. A és A1,A2-be, az egész oszlopban kerülnének adatok, a 3. sortól viszont felkéne osztani az két részre az A oszlopot ,ezt hogyan kéne megoldani? Itt van egy példa is ,hogy mire gondolok!
-
bepken
veterán
sziasztok!
adott egy html forrás, ahonnan tag-ek alapján szedném ki az infókat. viszont sajnos abba a problémába ütköztem, hogy ezek az adatok (illetve a "helyük") sajnos nem statikusak....
valahogy így néz ki:<dt>Márka</dt><dd>XYZ</dd>
<dt>Típus</dt><dd>abc</dd>mivel ezek a tag-ek párhuzamosan növekednek, gondoltam berakom egy ciklusba és az adott "dt" tag-hez lekérem a számomra szükséges "dd" tag értékét.
Do
sdt5 = Trim(Doc.getElementsByTagName("dt")(i).innerText)
i = i + 1
Loop Until std5 = "Márka"
sdd5 = Trim(Doc.getElementsByTagName("dd")(i - 1).innerText)na most...ez így működni látszik...mindaddig, amíg megtalálja a forrásban azt a bizonyos tag-et, azzal a bizonyos értékkel. hogyha nem, akkor megakad...
tehát a kérdésem az volna: hogyan lehet lekezelni azt, hogy ha nem talál ilyet, akkor egyszerűen adjon vissza egy sdt = "" értéket?
-
zhari
csendes tag
Szeretnék egy olyan makrót ami:
A lista nevű munkalap A11-t átmásolja a kalkulátor munkalap B2
5-jébe (transzponálva) , utána a kapott eredményt ( kalkulátor O6-ból és R6-ból) a lista E1 és F1-be másolja. Majd a lista munkalap A2
2 tartományát másolja a B2
5-be , utána a kapott eredményt ( kalkulátor O6-ból és R6-ból) a lista E2 és F2.be másolja. Majd a lista munkalap A3
3 .....
Előre is köszönöttel
-
slashing
senior tag
megnyitod a fájlodat amiben ezek vannak, alt+f11 bejön a VBA ablak bal oldalon VBAProject (a fájlod neve.xls) itt jobb klikk insert / module és belemásolod a kódot. Lehet hogy újra el kell mentened a fájlt makróbarátra. De ahogy Delila_1 is mondta ha nem a fájlodba mented hanem a Personal.xlsb-be akkor bármelyik fájlodnál használhatod majd.
A táblázatod azon oszlopába amelyikbe ki akarod gyűjteni beírod a képletet =kotojel(A1) ha A1-ben vannak ezek a szövegek....
-
mdk01
addikt
válasz
Delila_1 #22423 üzenetére
Most ez úgy fog hangzani, hogy a kisujjad nyújtod, de a kezedet akarom, viszont nem szeretném hogy a munkád pocsékba menjen ha már ennyit rám áldoztál, de nem értem az utolsó két sort még ezt elmagyaráznád.
Beviszed a füzetedben egy modulba, és =kotjel(A1) formában alkalmazod.
Ha több füzetben is használnád, érdemes a personalba másolni.Köszönöm
-
Delila_1
veterán
Írtam egy Kotjel nevű függvényt rá.
Function Kotjel(cella As Range)
Dim kar As Integer, tol As Integer, ig As Integer
For kar = Len(cella) To 1 Step -1
If Mid(cella, kar, 1) = "_" Then ig = kar
If Mid(cella, kar, 1) = "-" Then
tol = kar + 1
Exit For
End If
Next
ig = ig - tol
Kotjel = Mid(cella, tol, ig)
End FunctionBeviszed a füzetedben egy modulba, és =kotjel(A1) formában alkalmazod.
Ha több füzetben is használnád, érdemes a personalba másolni. -
mdk01
addikt
válasz
slashing #22421 üzenetére
A kötjelek, alsóvonások mindig vannak a számok között, de mindig máshol(más értéken ha az elejétől számoljuk) és változnak a számok is, hol 2, hol 0,4 szerepel.
Nem egyszerű, én is folózók rajta...cégnél rémlik vmi hasonló függvény sorozat, de arra nem emlékszem az pontosan mit számol, de megnézem jövőhéten. -
slashing
senior tag
-
mdk01
addikt
A kötjelek és az alsóvonás azonos, de van olyan cella ahol a 2-es helyett 0,4 van így nem tudom neki azt mondani általánosságban hogy a 2. értéktől vegyen ki egyet, mert ezt a kettessel meglehet csinálni, de ahol a 0,4 van ott ugye az kell hogy a 2. értéktől vegyen ki hármat.
Szóval a tuti az lenne ha azt megtudnám adni neki hogy pl. a 2. és 3. kötjel között vegyen ki mindent és ugyanígy a 3. 4. kötjel között. Azért nem jó az érték mert ugye az mindig máshol van mivel vhol 2-es szám vhol 0,4-es szám szerepel. -
#02644736
törölt tag
Sziasztok!
Adott egy excel, amiben az első lapon egy táblázat, tele adatokkal. A többi lapon szintén vannak üres táblázatok, amiknek az első sora legördülő lista, és az első lapon található táblázat első oszlopára hivatkozik. A probléma ott van, hogy ha véletlenül rosszra kattintok, akkor nem tudom kijavítani, mert ha újra legördítem a listát, akkor nem írja felül, hanem utána írja. (azért választok ki néha rosszat, mert a legördülő lista csak oszlop szélességben látszik, amit keskenyre kellett vegyek, hogy a nyomtatásba beleférjen). Lehet, hogy a hivatkozással van valami, mert nem a cellákat írta be, hanem az oszlop első sorában szereplő elnevezést.(nem ezt írta pl, hogy =A$2:A$50, hanem =Elnevezés)
Hogy lehetne ezt kijavítani? 2013-as Office-t használok, és bent a cégnél is az van. A legördülő listánál nem veszi figyelembe az üres cellákat. (bejelöltem ezt a négyzetet) -
slashing
senior tag
ez ugyan az mint az én giga hosszú képletem néhány hozzászólással feljebb van rá pár próbálkozás, ha jól emlékszem rajtam kívül is volt valaki aki ilyesmivel küzdött az utolsó 100 hozzászóláson bellül...
(#22390) Delila_1 válasza slashing (#22389) üzenetére ebből ki tudsz indulni.
ezt a témát én örökre megutáltam
-
mdk01
addikt
válasz
Delila_1 #22413 üzenetére
Van olyan függvény amivel meglehet határozni hogy az X-dik valamilyen karakter(jelen esetben kötőjel vagy alsó vonás) előtti vagy utáni valahány karaktert rakja nekem a cellába eredményül?
Ilyen van nekem egy celllában: 2-2-0-0,4_22 és mindig a kötőjel vagy alsó vonás előtti vagy utáni számot szeretném külön cellába rakni.
Előre is köszönöm. -
Delila_1
veterán
válasz
dellfanboy #22410 üzenetére
A DARABTELI függvény nulla értéket ad annál a 20k-nál.
A 120k-t keresd a 100k-ban.
-
slashing
senior tag
válasz
dellfanboy #22410 üzenetére
csak egy tipp, mi lenne ha a második oszlop adatait átraknád az első alá aztán csinálnál egy olyat hogy ismétlődések eltávolítása (excel 2013, adatok menü)?jah de így megkapod a 120k-t nem a 20-at sry
-
dellfanboy
őstag
van két oszlopom mindkettő id, egyik 100k másikba 120k, mi a leggyorsabb módja, hogy megtaláljam azt a 20k id-t ami az 100k-s ba nem szerepel (fkeressel próbáltam de annyira lefagy a gép, hogyhihetetlen.) sajna az id van amikor 5 jegyű és van amikor 8, ezért ha növekvő/csöökkenő soorrendbe rakom majd rákeresek nem hoz jó eredményt.
-
Misi_D
tag
Sziasztok,
Excelben (2010) létezik olyan opció, amellyel automatikusan minden új pivot létrehozásakor a klasszikus kimutatáselrendezésben "épül fel" a kimutatás?
Tehát, csak annyit szeretnék, h ne kelljen minden esetben kézzel átállítanom az elrendezést a klasszikusra.Köszönöm!
-
slashing
senior tag
válasz
Delila_1 #22405 üzenetére
a legegyszerűbb lenne szétbontani 3 részre egyik lenne a fix(általában) első fele aztán a következő kettő a tól - ig, de sok mindent át kéne írni és már így is van 16 oszlop amibe adatot kell írni ha szétbontanám akkor lenne 20 oszlop mert ugye kétszer szerepel ilyen adat a táblázatban és ha ne adja isten az első fele ami fix éppen akkor ugrik egy számmal feljebb mikor hiba van akkor már gázos a dolog mert valahogy duplán kéne írni... még most hétvégén lehet egyszer nekiugrok hátha találok valami.
regexp kódot nem lehet használni excelben? azzal relatíve könnyebben le lehetne írni
-
slashing
senior tag
válasz
Delila_1 #22403 üzenetére
ááá láttad volna azt amit ez a táblázat helyettesít, egy képlet nem volt benne de volt benne 500 db fénykép amitől már kb. 700 megás(jelenleg hivatkozásokat használnak már a képekre) volt a fájl és mindezt hálózaton keresztül nyitotta mindenki... lassabban töltötte be mint ahogy a számítógép elindult
csak egy sima mentés több mint 10 másodpercig tartott.
-
slashing
senior tag
válasz
madrol #22398 üzenetére
nem lehet szétszedni, így kell bevinni az adatot amit egy másik munkalapon szét kell szórni szép nyomtatható formába ahol egyszer szerepel ennek a cellának a teljes tartalma meg egyszer az hogy honnan indult a hibás gyártás a kötőjellel elválasztva lévők a tól - ig a vesszővel amikor itt is ott is van hiba stb...
amúgy a képlet hossza végül 680 karater lett
mivel ki kellett egészíteni minden részét egy fkeressel illetve mivel van még egy ugyan ilyen cella a táblázatba így össze kellett vonni a kettőt egybe így duplázodott az egész
tesztjeim alapján kb. 95% pontossággal működik bár általában dolgozói hiba az ok.
=HA(ÉS(HIBÁS(SZÖVEG.KERES("-";FKERES(W3;Táblázat1;6;0)));HIBÁS(SZÖVEG.KERES(";";FKERES(W3;Táblázat1;6;0))));FKERES(W3;Táblázat1;6;0);HA(HIBÁS(SZÖVEG.KERES("-";FKERES(W3;Táblázat1;6;0)));BAL(FKERES(W3;Táblázat1;6;0);SZÖVEG.KERES(";";FKERES(W3;Táblázat1;6;0))-1);BAL(FKERES(W3;Táblázat1;6;0);SZÖVEG.KERES("-";FKERES(W3;Táblázat1;6;0))-1)))&" "&HA(ÉS(HIBÁS(SZÖVEG.KERES("-";FKERES(W3;Táblázat1;8;0)));HIBÁS(SZÖVEG.KERES(";";FKERES(W3;Táblázat1;8;0))));FKERES(W3;Táblázat1;8;0);HA(HIBÁS(SZÖVEG.KERES("-";FKERES(W3;Táblázat1;8;0)));BAL(FKERES(W3;Táblázat1;8;0);SZÖVEG.KERES(";";FKERES(W3;Táblázat1;8;0))-1);BAL(FKERES(W3;Táblázat1;8;0);SZÖVEG.KERES("-";FKERES(W3;Táblázat1;8;0))-1)))
Új hozzászólás Aktív témák
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- Jogtiszta Windows - Office & Vírusirtó licencek- Azonnal - Számlával - Garanciával - Nint.hu
- Vírusirtó, Antivirus, VPN kulcsok
- PC Game Pass előfizetés
- Bomba ár! Fujitsu LifeBook U904 - i5-4G I 10GB I 256SSD I 14" QHD+ I HDMI I Cam I W10 I Garancia!
- LG 27UP850NP-W - 27" IPS LED - 3840x2160 4K - DisplayHDR 400 - USB Type-C - AMD FreeSync
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Samsung Galaxy A12 64GB Kártyafüggetlen 1 év Garanciával
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: FOTC
Város: Budapest