- Autós kamerák
- Projektor topic
- Milyen monitort vegyek?
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Intel Core i3 / i5 / i7 / i9 10xxx "Comet Lake" és i3 / i5 / i7 / i9 11xxx "Rocket Lake" (LGA1200)
- Milyen házat vegyek?
- Azonnali informatikai kérdések órája
- 3D nyomtatás
- Kompakt vízhűtés
- HTPC (házimozi PC) topik
Hirdetés
-
Computex 2024: dedikált NPU-val menedzselné a VGA-t a PowerColor
ph A gyártó megoldása hardveres, de kérdés, hogy nem volna-e a célra elég a jó öreg szoftver.
-
Az üzleti szférának szól a SmartThings Pro
ma A kütyüket összefogó megoldásból irodák, üzletek és hotelek is profitálhatnak.
-
Nem lesz soulslike játék a Phantom Blade Zero
gp A készítők egy pár mondatos kérdezz-felelekkel tisztáztak néhány dolgot a játékkal kapcsolatban.
-
PROHARDVER!
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
-
DasBoot
aktív tag
válasz tzimash #21953 üzenetére
Szia! Az elrejtett cella sorazonosítója fölött a kurzor megváltozik két párhuzamos vizszintes vonal és le-fel nyíl alakúvá, aztán csak lehúzod a kurzort. Pl.:11-es sort rejtetted el, akkor a 12-es sorszám felett kell ezt megtenned. Remélem érthetően írtam.
[ Szerkesztve ]
LEGO-ból bármit megépíteni, csak idő kérdése.
-
Delila_1
Topikgazda
válasz tzimash #28319 üzenetére
Másold át a fejlécet egy új lapra.
Használd az autoszűrőt az eredeti lapon. Megadhatod, hogy azok a sorok legyen láthatóak, amelyek tartalmazzák a J karaktert. Ezeket a teljes sorokat kijelölöd, Ctrl+c-vel másolod, az új lap A2 cellájába Ctrl+v-vel beilleszted.
Marad a kijelölés az első lapon, ezeket a sorokat 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 tzimash #28336 üzenetére
Tettem fel egy fájlt, amiben egy makró teszi át az első lapról a jó tételeket a másodikra.
Az autoszűrő sajnos csak bizonyos határig működik.
Nem lesz túl gyors, mert soronként kell ellenőriznie a D oszlop tartalmá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 tzimash #28399 üzenetére
Sub mm()
Dim sor As Long, usor As Long, ertek
usor = Range("B" & Rows.Count).End(xlUp).Row
For sor = usor To 2 Step -1
ertek = Cells(sor, "B")
If Not InStr(Cells(sor, "C"), "VBS/BS ") > 0 And _
Cells(sor, "F") = 8960 And Cells(sor, "D") = "J" _
And Not (ertek = 2381273 Or ertek = 2381389 Or ertek = 2587841 _
Or ertek = 2437821 Or ertek = 2531518 Or _
ertek = 2417707 Or ertek = 2832690) Then
Rows(sor).Delete Shift:=xlUp
End If
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.
-
szatocs1981
aktív tag
válasz tzimash #28399 üzenetére
Na, csak megvan:
If InStr(Cells(sor, "C"), "VBS/BS ") > 0 And Cells(sor, "F").Value = 8960 And Cells(sor, "D").Value = "J" And not (Cells(sor, "B").Value = 2381273 Or Cells(sor, "B").Value = 2381389 Or Cells(sor, "B").Value = 2587841 Or Cells(sor, "B").Value = 2437821 Or Cells(sor, "B").Value = 2531518 Or Cells(sor, "B").Value = 2417707 Or Cells(sor, "B").Value = 2832690) Then
-
Delila_1
Topikgazda
-
Delila_1
Topikgazda
válasz tzimash #31353 üzenetére
Szívesen.
Nézd meg a nyilak, és a lakás rajzok megnevezéseit! Azokat kell a saját fájlodban jól megadni.
Tedd modulba a lenti két makrót.
Sub Osszes()
Sheets("Munka1").DrawingObjects.Visible = True
End Sub
Sub EgySem()
Sheets("Munka1").DrawingObjects.Visible = False
Sheets("Munka1").DrawingObjects("Lakás").Visible = True
End Sub[ 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 tzimash #31690 üzenetére
Igen, jól gondolod. a Képletet 1 lépésben megadhatod az össze sorodra.
Sub Osszegez()
Dim usor As Long
usor = Range("A" & Rows.Count).End(xlUp).Row
Range("H2:H" & usor) = "=SUM(A2:G2)"
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.
-
Fferi50
őstag
válasz tzimash #32889 üzenetére
Szia!
Az MsgBox nem tűnik el addig, amíg a felhasználó rá nem kattint az OK gombra.
Az állapotsor felhasználható a folyamatok jelzésére:
Application.Statusbar="Most itt járok:" & "éppen indexelek"
A makró végén pedig Application.Statusbar=False - visszaadja a vezérlést az Excelnek (ez utóbbit ne felejtsd ki, mert egyébként az állapotsoron ott marad, amit legutoljára kiírattál.
Az állapotsorba rajzkarakterket is tehetsz, színt viszont nem.Lehet még olyan megoldás is, hogy egy userformot hozol létre, amire az üzeneteket kíírod egy Labelba, majd a Userform1.Show false paraméterrel hívod meg - ekkor a makró fut tovább, a form pedig addig lesz kinn, amíg az Unload Userform1 sort be nem írod, vagy a felhasználó "ki nem x-eli".
Az üzeneteket menet közben változtathatod, amíg a form kint van, pl. Userform1.Label1.Caption="Most más szöveg jön".
Ide rajzos karaktereket is tehetsz és színezheted is. De azért nem árt sokat gyakorolni, mielőtt ráereszted a felhasználóra.Üdv.
-
Fferi50
őstag
válasz tzimash #32891 üzenetére
Szia!
Minden MsgBox üzenet esetén kell OK vagy más gombot nyomnia a felhasználónak, nem csak a program végén :-(
Miért nem jó neked az állapotsor ott a képernyő alján? Ott nem kell a felhasználónak semmit csinálnia, csak nézni, mint boci...
Az elején pedig írhatsz egy MsgBoxot neki, hogy lesse az alsó sort, ha kíváncsi (ha nem).
Én hosszú folyamatoknál itt szoktam pörgetni a számlálót, hogy x tétel,cella van feldolgozva y darabból és általában 100-asával változtatom (mert különben nem látsz semmit a pörgéstől). Irtó kellemetlen lenne a felhasználónak, ha pár másodpercenként nyomkodnia kellene az entereket (mert "túl gyors" a program).
Szerintem akkor van értelme MsgBox-nak, ha a felhasználó döntésétől is függ, hogy mit csinálsz tovább, pl. nincs meg minden adat, de szeretne hiányos adatokkal is továbbmenni stb., illetve ha valami szokatlan történt és hibáról kell tájékoztatni.Üdv.
[ Szerkesztve ]
-
Fferi50
őstag
válasz tzimash #32925 üzenetére
Szia!
Többféle út is járható
Dim hiba As Range
Set hiba = Range("E:E").Find(what:="#", LookIn:=xlValues, lookat:=xlPart)
If Not hiba Is Nothing Then MsgBox "Hiányosak az adatok, a program befejeződik!": Exit Sub
vagydim hibas as integer
hibas = Application.CountIf(E:E, CVErr(2042))
if hibas>0 then stb.A kilépést magad is el tudod intézni, csak 1 mintát írtam.
Üdv.
-
Delila_1
Topikgazda
válasz tzimash #32929 üzenetére
Dim hiba
On Error Resume Next
hiba = Range("E:E").Find(what:="#", LookIn:=xlValues, lookat:=xlPart).Row
If hiba Then
MsgBox "Az első hibás cella " & Range("E" & hiba).Address
Exit Sub
End If[ 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.
-
Fferi50
őstag
válasz tzimash #32929 üzenetére
Szia!
Én maradnék a saját javaslatomnál:
Dim hiba As Range
Set hiba = Range("E:E").Find(what:="#", LookIn:=xlValues, lookat:=xlPart)
If Not hiba Is Nothing Then MsgBox "Az első hibás adat az " & hiba.Row & ". sorban van" & vbLf & "az A" & hiba.Row & " cella értéke: " & hiba.Offset(0, -4).Value: Exit SubÜdv.
-
Delila_1
Topikgazda
-
Delila_1
Topikgazda
válasz tzimash #32942 üzenetére
A feltételes formázással mindig naprakészek a színek.
Lehetne még pontosítani azon, hogy hány napos egy hónap, de nem hiszem, hogy ebben a feladatban sokat nyomna a latban.
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 tzimash #34065 üzenetére
Hol vannak a data lapon az adatok, ahol keresni kell?
Hova másolja a talált számokat?Mi az a választható "SMT 13"?
Kicsit részletesebb magyarázat kellene erre: "a megadott sor-nak a száma 1-13 lehet, ez kitöltetlen nem maradhat." Befolyásolja ez a keresést, vagy csak kötelező legyen kiválasztani egy értéket?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 tzimash #34069 üzenetére
A for-next ciklusba írd be a saját sorodat az msgbox-os sor helyére.
Ha a data lapon számként (nem szöveges adatként) szerepelnek a számok, akkor amit = Mid(Range("D4"), 3, 7)
sor végére írj *1 -et, ami a keresett szöveges adatot számmá konvertálja.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Fferi50
őstag
válasz tzimash #36331 üzenetére
Szia!
A gombot egérklikkel vagy a hozzárendelt makróval lehet működésbe hozni. Kurzort nem lehet úgy rátenni, hogy utána "benyomható" legyen.
A két fehér mező milyen módon jön létre? Két cella? Ha igen, akkor azt kell kitöltésnél előírni, hogy a második cella entere után egy egérklikk a gombra.
Makróval meg lehet tenni, hogy a második cella megváltozása esetén automatikusan induljon a gombhoz rendelt makró is - ilyenkor egy enter vagy a cellát más módon megváltoztatva a változtatás is elég. A munkalap change eseményéhez kell rendelni a makrót, ami "benyomja" a gombot.Üdv.
-
Delila_1
Topikgazda
válasz tzimash #36335 üzenetére
A laphoz rendelve
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$3" Then CommandButton1_Click
End SubSzerk.:
A lap ScrollArea tulajdonságánál megadhatod a bejárható területet: $B$3:$E$3. Csak a 2 kiemelt cellában tud majd mozogni, mert a lapvédelemnél a zárolt cellák kijelölését nem engedélyezed.
A B3 bevitelnél a jobb-, az E3-nál a bal nyilat használd!
[ 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.
-
Fferi50
őstag
válasz tzimash #36344 üzenetére
Szia!
A parancsgomb makrójába az elején írd be ezt a sort:
Application.EnableEvents=FalseAz utolsó sor pedig legyen ez:
Application.EnableEvents=True"Alapértelmezett értékként" lehet, jobb lenne a 0 vagy egy betű, amit mindenképpen meg kell változtatni. Hiszen ha 1 a beírt érték, amire azt írod, hogy legtöbbször azt kell beírni, akkor nem fog lefutni a makró.
Üdv.
-
Delila_1
Topikgazda
válasz tzimash #36434 üzenetére
A string tip. változót dátumként így írhatod fel a lapra: range("a1")=cdate(dtpicker)
A formátumot is megadhatod: range("a1")=format(cdate(dtpicker), "yyyy.mm.dd")
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 tzimash #36445 üzenetére
Hívd meg úgy a kiírást, hogy közvetlenül átadod a kiválasztott dátumot.
kiiras dtpicker1
sub kiiras(Kelt)
msgbox Kelt
end subAz átadott-átvett változónak lehet eltérő a neve, mint a fenti példában is.
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
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Bitdefender Total Security 3év/3eszköz! - "Tökéletes védelem most kedvező áron..."
- Microsoft licencek KIVÉTELES ÁRON AZONNAL - UTALÁSSAL IS AUTOMATIKUS KÉZBESÍTÉS - Windows és Office
- Autómatricák a legjobb minőségben, több ezer minta! PH tagoknak 30% kedvezmény!
- Adobe Creative Cloud - 2024. 04. 05 - 2025. 04. 05-ig