-
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
-
-
Delila_1
Topikgazda
válasz takyka77 #3703 üzenetére
Bevitelkor ellenőrizheted.
Private Sub TextBox1_Change()
nev = TextBox1.Text
For i = 1 To Len(nev)
If Mid(nev, i, 1) < "0" Or Mid(nev, i, 1) > "9" Then
TextBox1.Text = Left(nev, Len(nev) - 1)
MsgBox "Csak számjegyeket adhatsz!"
Exit For
End If
Next
nev = Val(nev)
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.
-
Delila_1
Topikgazda
válasz Csontikka #3708 üzenetére
Nem írtad, melyik oszlopban vannak az adataid.
A makró az A oszlopban lévő adatokat tisztítja meg a feleslegtől, és a B oszlopba írja az eredményt.Sub Tisztítás()
usor = Range("A65536").End(xlUp).Row 'Itt írd át az A-t, ha nem az A oszlop adatait ellenőrzöd
For sor = 1 To usor
név = Cells(sor, 1) 'Itt az 1-et az oszlopod sorszámára
név = Right(név, Len(név) - 1)
név = Left(név, Len(név) - 1)
Cells(sor, 2) = név 'Itt azt az oszlop sorszámot a 2 helyett, ahova a tisztított adat kell
k = 1
Do While Mid(név, k, 1) = " "
név = Right(név, Len(név) - 1)
Cells(sor, 2) = név 'Itt is azt az oszlop sorszámot a 2 helyett, ahova a tisztított adat kell
Loop
k = Len(név)
Do While Mid(név, k, 1) = " "
név = Left(név, Len(név) - 1)
Cells(sor, 2) = név 'Itt azt az oszlop sorszámot, ahova a tisztított adat kell
k = k - 1
Loop
Next
End SubA tisztított adatot oda is írathatod, ahol jelenleg a !-es adataid vannak, de jobb máshova, és az eredetit utólag törlöd.
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 Csontikka #3708 üzenetére
Ugyanazt csinálja mint az előbb, csak kicsit kevesebb sorban leírva:
Sub Tisztítás()
usor = Range("A65536").End(xlUp).Row 'változtatás, ha nem A oszlopban van az adat
For sor = 1 To usor
név = Cells(sor, 1) 'változtatás, ha nem A oszlopban van az adat
Do While Mid(név, 1, 1) = " " Or Mid(név, 1, 1) = "!"
név = Right(név, Len(név) - 1)
Loop
k = Len(név)
Do While Mid(név, k, 1) = " " Or Mid(név, k, 1) = "!"
név = Left(név, Len(név) - 1)
k = k - 1
Loop
Cells(sor, 2) = név 'változtatás, ha nem B oszlopba kell írni a kigyomlált adatot
Next
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.
-
Delila_1
Topikgazda
válasz Csontikka #3714 üzenetére
Örülök neki, szívesen.
Küldd el nekem is azt az emailt. Most néztem a txt-s feladatot, és azt láttam, hogy AS rendszerben (ahogy sikerül) vannak az adatok, ha a szóközt veszem elválasztónak.[ 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
Akkor az adatsor neve lesz a jó. Egy kattintással kiválasztod az adatsort, pici szünet után(hogy ne dupla klikknek vegye) újabb jobb katt, és az adatpontot ki tudod választani.
Most azt írod, hogy az érték kell, biztosan van olyan is a választhatók között.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 Csontikka #3719 üzenetére
Úgy nézem, már a txt-ben érdemes a (+szóközt (-re cserélni, és a szóköz+)-t )-re, mégpedig többször - amíg elfogy a cserélni való -, mert változó számú mindenhol a space. Azután elválasztónak a :-ot írni.
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
Szerkesztés/Ugrás/Irányított. Itt kiválasztod az Állandókat, mire felajánlja a számokat, szövegeket, logikai értékeket és a hibákat. Azokat hagyd kijelölve, amiket ki akarsz törölni. Az OK-ra a kiválasztott cellák lesznek jelöltek, és akkor a DEL billentyűvel egyszerre kitörölheted mindet.
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
Érdemes a makró elején meghatározni a kiinduló lapot.
Ha a kiinduló lapon az A16 fölött nincs adat, hibás lesz a kijelölés, ezért inkább az
usor = Range("A65536").End(xlUp).Row -val keresd ki az A oszlop utolsó sorát.
A nyilvántartás lapra a Select-tel lépj át.Sheets("kiinduló lap").Select
usor = Range("A65536").End(xlUp).Row
Range("A16:J" & usor).Select
Selection.Copy
Sheets("nyilvántartás").Select
Cells(1, 1).Select
ucso=Selection.End(xlDown).Row+1 'Itt adod meg az utolsó alatti sort (+1)
Cells(ucso, 1).Select
Selection.PasteSpecial Paste:=xlPasteValues[ 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
Csak próbálkozás:
Ha a VBE-ben a Tools/Options párbeszéd ablak Editor fülén be van kapcsolva a Require Variable Declaration, akkor a makró elején deklarálni kell a változókat. Lefoglalni nekik a helyet a Dim utasítással (Dim uoszlop As Integer, Dim szöveg As String), azután meg kell adni a kezdő értéküket (Set uoszlop= ActiveSheet.UsedRange.Columns.Count, Set szöveg="Juliska").
Nálam nincs bekapcsolva. Vagy kapcsold ki, vagy deklaráld a változókat, remélhetően ez a bibi.
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
Még valószínűbb hiányosság lehet, hogy az Excelben az Eszközök/Bővítménykezelőben nincs bekapcsolva az Analysis Toolpak és az Analysis Toolpak-VBA. Ezeket azért kell bekapcsolni, mert az első a munkalapokon ad egy halom új függvényt az alaphoz, a második a makrókhoz.
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 Gabcsika #3765 üzenetére
Szívesen.
A Formátum/Feltételes formázással könnyen megoldható.
[Itt egy kép][ 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 piadex2 #3769 üzenetére
Van egy még egyszerűbb megoldás:
'0670
'+3670
Az aposztóffal (Shift+1) kezdődő beírásokat külön cellaformázás nélkül is szövegként értelmezi az Excel. Az aposztróf csak a szerkesztő lécen látszik, a cellában nem.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 Narancs #3772 üzenetére
Tegnap kicsit szűkszavúan válaszoltam.
Egyik módszer, hogy a D2-be beviszed a szumha függvényt. 500 adat esetén
=szumha($b$2:$b$500;b2;$c$2:$c$500)
Ezt a képletet lehúzva minden terméked mellett kiírja a pillanatnyi összes darabot.Másik - nekem szimpatikusabb - módszer:
C801-be (hogy legyen bőven hely a további tételek beírásához)
=részösszeg(9;c2:c800)
Itt a 9 egy függvényszám, ami azt jelzi a függvénynek, hogy a látható tételeket össze kell adni.
Most a felső sorba tegyél autoszűrőt az Adatok/Szűrő/Autoszűrő-vel. A "B" oszlop bármelyik tagjára szűrve azonnal látod a temék darabszámát.Megjegyzés: a részösszeg függvényt teheted akár a G1-be is, hogy mindig lásd, ne kelljen görgetni hozzá a képernyő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
Hű, de fürge vagy! Alig néhány hónap, és már meg is nézed!
Sheets("kiinduló lap").Select
usor = Range("A65536").End(xlUp).Row
Range("A16:J" & usor).Select
Selection.Copy
Sheets("nyilvántartás").Select
Cells(1, 1).Select
ucso = Range("A65536").End(xlUp).Row
If Cells(ucso, 1) > "" Then ucso = ucso + 1
Cells(ucso, 1).Select
Selection.PasteSpecial Paste:=xlPasteValuesAz lehet a baj az előzővel, hogy a nyilvántartás lapodon még nem volt adat, az xlDown leszaladt a 65536. sorig, és oda akart bemásolni néhány sort. Ettől persze kiakadt a lelke.
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
-
Delila_1
Topikgazda
válasz liquidmoon #3792 üzenetére
A DARAB2 függvény megszámolja, hány adatod van egyik, és másik oszlopban. A két eredményből tudsz százalékot számolni.
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
Vegyük úgy, hogy a lapjaid neve Csoport_1, Csoport_2, és Csoport_3, a cikkszámok az A oszlopban vannak, az árak pedig B-ben.
A kereső lapon az A-ban a cikkszám, a következő háromban az ár, amit az Fkeres függvény ír be.
A B oszlop képlete:=HA(HIBÁS(FKERES($A2;Csoport_1!$A:$B;2;HAMIS));"";FKERES($A2;Csoport_1!$A:$B;2;HAMIS))
Ezt a képletet jobbra húzod a D oszlopig, és a Csoport_1-et átírod Csoport_2-re, illetve Csoport_3-ra. Ezután a 3 képletet együtt lemásolod, ameddig szükséges.
Lehetne úgy is, hogy a 3 képletet valahova messzebb teszed, mondjuk H-tól J-ig, B-be pedig =max(H2:J2)
[ 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 benjoe1 #3817 üzenetére
Hátha még nem késő.
Sub sorbeszuras()
usor = Range("A65536").End(xlUp).Row
For sor = Range("A65536").End(xlUp).Row To 2 Step -1
Cells(sor, 1).Select
Selection.EntireRow.Insert
Next
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.
-
Delila_1
Topikgazda
válasz benjoe1 #3820 üzenetére
A Selection.Offset(3.1).Select sort itt nem értem, meg szerintem a cikluson belül módosítani kellene a kijelölés helyét. Nálad működött?
Az enyémben az usor kezdetű sor felesleges, de nem árt senkinek. Előbb a ciklust az usorig vittem, aztán a módosítottban benne hagytam a szemetet.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 takyka77 #3822 üzenetére
Sub Worksheet_Change(ByVal Target As Excel.Range)
If (Target.Column = 2 And Target.Row = 3 And Target.Value > 100) _
Then MsgBox "Elérte a maximumot"
End SubEz a makró a B3 cella (Column 2, Row 3) értékét figyeli. Ha meghaladta a 100-at, akkor üzenetdobozban figyelmeztet.
A makrót a kérdéses laphoz rendeld hozzá. Lapfülön jobb klikk, kód megjelenítése. A VB szerkesztő jobb oldalán kapott üres lapra másold át, és értelemszerűen végezd el a módosításokat.
Ehelyett a feltételes formázással is ki lehet emelni a cella értéké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.
Új hozzászólás Aktív témák
- Eladó Steam kulcsok kedvező áron!
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! LEGOLCSÓBB! Automatikus 0-24
- PC JÁTÉKOK (OLCSÓ STEAM, EA , UPLAY KULCSOK ÉS SOKMINDEN MÁS IS 100% GARANCIA )
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Canva Pro előfizetés - 1 éves
Állásajánlatok
Cég: Alpha Laptopszerviz Kft.
Város: Pécs
Cég: Ozeki Kft.
Város: Debrecen