-
GAMEPOD.hu
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
-
bugizozi
őstag
A következő kód az A1 cellából a B1 cellába másolja az értéket:
Range("A1").Select
Selection.Copy
Range("B1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False[ Szerkesztve ]
VCP7-DCV, CCNA ||| Ami működik, ahhoz nem szabad hozzányúlni!
-
bugizozi
őstag
Simán beírod a nevüket egy sorba...Pl:
Első kód:
Sub vmi()
Range("A1").Select
Selection.Copy
Range("B1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End SubMásodik kód:
Sub vmi2()
vmi
End SubHa lefuttatod a második kódot (vmi2), az "megíhvja" az első kódot (vmi) és az fog lefutni
VCP7-DCV, CCNA ||| Ami működik, ahhoz nem szabad hozzányúlni!
-
Attas
aktív tag
Hát igen... Meglett a baj. Mivel a típus cella alatt a 06H103023L számtalanszor szerepel, beíráskor rögtön felajánlotta az autómatikus kiegészítést, csak épp ott van egy szóköz is a végén. amit nem vettem észre, de a makró igen. Oh...
"Az élet olyan mint az ásás. Néha pár gyökér feltart, de annak jól odacsapsz és mehetsz tovább!"
-
félisten
Űrlap vezérlőjét nem lehet állítani. használj ActiveX vezérlőt(CommandButton), jobb égér rajta/Tulajdonságok/ és a BackColor tulajdonságnál módosíthatod a színét.
(ForeColor meg az írás színe)Dj Sügi
Ha több feltétel nem lesz, azaz nem lesz még, hogy 15M feletti érték is lesz, akkor sima cellaformázással is kivitelezhető.
Persze az kérdéses számomra, hogy pl a 999999-ből hogyan is lesz 999E, mert 999000 esetén még érthető.Mindegy, azért beteszem a formázást, arra ügyelj, hogy a formázásban több szóköz van egymás után, nem véletlenül, viszont ha pl Firefox-ot használsz, akkor amikor kimásolod majd a formátumot, az eltávolítja a felesleges szóközöket, ami ebben az esetben hibás működést von majd maga után.
Chrome vagy Dragon rendesen tudja másolni vagy kézzel bepötyögöd.[<1000]###" fő";[<1000000]#####0 " E";#######0 " M"
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
Delila_1
Topikgazda
Például így oldhatod meg.
A listbox tartománya a Munka1 lap A1:A10.Ezzel indítod a userformot.
Sub start()
UserForm1.ListBox1.List = Sheets("Munka1").Range("A1:A10").Value
UserForm1.Show
End SubA listbox kiválasztott elemén duplaklikkre beírja az elemet a füzet aktuális cellájától egy cellával jobbra.
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim sor As Integer
sor = Me.ListBox1.ListIndex + 1
Selection.Offset(, 1) = Range("A" & sor)
End SubA +1 azért kell, mert az index nullával kezdődik.
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
Mivel nem árultad el, hol lesznek az adatok, a D2:E8 tartományra írtam meg, majd átalakítod a makrókat.
Sub Start()
UserForm1.ListBox1.List = Sheets("Munka1").Range("E2:E8").Value
UserForm1.Show
End SubPrivate Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim sor%, usor%, nev$
sor% = Me.ListBox1.ListIndex + 1
usor% = Cells(Rows.Count, "A").End(xlUp).Row + 1
nev$ = Me.ListBox1.List(Me.ListBox1.ListIndex)
Range("B" & usor%) = nev$
Range("A" & usor%) = Range("D" & Application.WorksheetFunction.Match(nev$, Columns(5), 0))
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
Duplaklikket neki!
A Start makró modulba kerül, a másikat úgy vidd be, hogy a VBE-ben a listboxra klikkelsz.
A2 és B2 cellában kell megjelenni az adatoknak. A következő kiválasztás adatai az A3 és B3 cellában lesznek.
[ 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
A bővítményeket 2007-től Az Excel beállításainál találod.
Kezelés: Excel bővítmények, Ugrás. Ott kapcsold be a 2 Analysis kezdetűt, hogy működjön a MATCH függvény.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
A MATCH (hol.van) függvény megkeresi az 5. (E) oszlopban a kiválasztott adat sorát, és ebben a sorban, a D oszlopban található értéket viszi be a B2-be, vagy ahogy elnevezted ezt a cellá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.
-
Attas
aktív tag
Már csak ez kell: Még egy két apróság. Az UserForm1 elhelyezett Commandbuttonnak milyen kód kell, hogy bezárja az UserForm1 ablakot és egy makrót elindítson? És egy TexBox nál milyen kód kell hogy megjelenítse egy adott cella tartalmát?
"Az élet olyan mint az ásás. Néha pár gyökér feltart, de annak jól odacsapsz és mehetsz tovább!"
-
lappy
őstag
Szia!
Én igaz nem értek annyira a macrohoz de az End if-el nem vége van a Elágazás logikai feltételek alapján ciklusnak??! és a következő sorban ezért jelzi a hibát?Egyszerű, egysoros forma
If feltételThen [utasítások] [Else utasítások]
Strukturált forma
If feltétel1 Then ' logikai feltétel melynek értéke igaz (true) vagy hamis (false)
[utasítások] ' ezeket az utasításokat hajtja végre a program, ha a feltétel1 igaz
[ElseIf feltétel2 Then
[utasítások] ... ' ezeket az utasításokat hajtja végre a program, ha a feltétel2 igaz
[Else
[utasítások]] ' ezeket az utasításokat hajtja végre a program, ha a feltétel1 és a feltétel2 is hamis eredményt ad
End If
[ Szerkesztve ]
Bámulatos hol tart már a tudomány!
-
sztanozs
veterán
Az első if után vagy elseif-nek kell követketten vagy le kellene zárni end if-fel.
Ja és forráskódként illeszd be létszi, hogy látszanak az anotációk is.Ha jól veszem ki az első If és a kijelölt ElseIf között rész mind az első If-hez tartozik.
Próbáld meg esetleg kirakni szubrutinba.[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
Hozzáadod plusz megjelenítő elemként a minimumot, az átlagot és a maximumot (plusz sorok vagy oszlopok kellenek hozzá a táblázatban) és hozzáadod vonal-elemként a diagramhoz (vegyes digramot választasz).
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
Az aláhúzott résznél adod meg mennyinél kell nagyobb (vagy kisebb, vagy bármilyen) legyen.
Sub Macro1()
Sheet1.ChartObjects("Chart 1").Activate
Dim val()
val = ActiveChart.SeriesCollection(1).Values
Dim ix
For ix = 1 To ActiveChart.SeriesCollection(1).Points.Count
If val(ix) >= 60 Then
ActiveChart.SeriesCollection(1).Points(ix).Select
With Selection.Format.Fill
.Solid
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 0, 0)
.Transparency = 0
End With
End If
Next
End SubJOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
Persze - ha többre is kell, akkor végig kell járni az összes SeriesCollection-t is
Itt az egyes csak az első "oszlopot" jelöli:
ActiveChart.SeriesCollection(1).ValuesJOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
ThisWorkbook-ba:
Dim WithEvents CHT As ChartPrivate Sub Workbook_Open()
Set CHT = Sheets("Sheet1").ChartObjects(1)
End SubPrivate Sub CHT_Calculate()
'ide kell a makró
End SubJOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
Attas
aktív tag
-
Delila_1
Topikgazda
=INDIREKT("F"&HOL.VAN(MIN(F:F);F:F;0))
Ha a keresendő érték az F oszlopban van. A függvény formája azonos legyen azzal, ahonnan a legkisebb értéket várod.
A legfrissebb dátum ugyanez a képlet, min helyett max függvénnyel.
[ 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.
-
félisten
=HA(HIBÁS(B1);"Hiba";"Nincs hiba")
ugyanez makróban
If Application.WorksheetFunction.IsError(Range("B1")) Then
MsgBox ("Hiba")
Else: MsgBox ("Nincs Hiba")
End IfMindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
És még annyi, ha esetleg konkrétan csak azt az egy típusú hibát szeretnéd ellenőrizni, akkor
If Application.WorksheetFunction.IsNA(Range("B1")) Then
MsgBox ("#HIÁNYZIK hiba")
Else: MsgBox ("Nincs vagy más hiba")
End IfMindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
Az ErrorFound vizsgálatával tudod majd eldönteni, hogy a megadott tartományban volt-e olyan cella(legalább 1), ami hibát tartalmaz.(A kód az első talált hiba esetén nem vizsgálja tovább a további cellákat)
Dim MyRange As Range
Dim MyCell As Range
Dim ErrorFound As Boolean
Set MyRange = Range("C9:V9")
ErrorFound = False
For Each MyCell In MyRange
If Application.WorksheetFunction.IsError(MyCell) Then
ErrorFound = True
Exit For
End If
Next MyCellMindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
Ezt nem igazán értem, mi az a ControlSource?
A CheckBox-ot Falsra állítani?CheckBox1.Value = False
ancarian - "Ez csak egy cella lenne nekem ami szöveget tartalmaz. "
Hát szöveget nehéz lesz összeadni.
Otello + Desdemona <> Tragédia[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
Ja, hogy UserForm-on elhelyezett CheckBox-ról van szó, az más, akkor már világos.
(Még szerencse, hogy a munkafüzeten elhelyezett CheckBox-nak, meg a UserForm-on elhelyezettnek is van Value tulajdonsága )Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
sztanozs
veterán
Legyegyszerűbb csinálni egy olyan függvényt (Function), amibe beleteszed az egész függvényedet a munkalapon és az vizsgálja az eredményt:
Public Function Zero(eredmeny As Variant) As Variant
If IsError(eredmeny) Then
If (eredmeny = CVErr(xlErrDiv0)) Then
UserForm1.Show
End If
End If
Zero = eredmeny
End FunctionJOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
Nem, ez egyszerűen mindig elindítja a formot (függően attól hova teszed).
1) Az On Error csak a kódban lefutáskor bekövetkező hibákra reagál (ráadásul bármilyen hibára, nem csak a 0-val való osztásra).
2) Bár oda ugrasztanád hiba esetén a form.show-ra a kódot az on error-ral, de mivel előtte nincs elágazás/funkcióból kiugrás (vagy bármi más vezérlő szerkezet), így a kód garantáltan ráfut a form.show-ra, ha van hiba, ha nincs...JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
Mert deklarációs részbe (szubrutinon / függvényen kivülre) nem tehetsz értékadást. Tedd a Workbook_Open-be, ott jó helye lesz.
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
Nem - távolabbról nézve az egész makró - makró a modul teteje, makrók a rögzített és kézzel írt szubrutinok, és makrók az események során meghívott szubrutinok is.
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
Az az esemény (Workbook_Open) csak akkor fut le, amikor megnyitod a munkafüzetet:
- vagy kézzel lefuttatod tesztelésnél és akkor biztos azonnal inicializálva lesz
- vagy elmented, bezárod és újranyitod a doksit és akkor lefut az inicializációA 15303 nem jó, mert akkor a Workbook_Open scope-jában jön létre a WSH változó (tehát azon kívül nem látszik). Mindenféleképp a Modul-ban kell látrehozni, hogy mindenhonnan látszon - mert így globális és nem lokális változó lesz.
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
Látatlanban nem tudok erre mit mondani - valami nem jól vagy nem jó helyre írtál be - látni kellene az egészet hozzá...
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
Delila_1
Topikgazda
Sub szovegdoboz()
Sheets("Munka1").Select
ActiveSheet.ChartObjects("Diagram 1").Activate
ActiveChart.Shapes("Text Box 1").Select
Selection.Characters.Text = Sheets("Munka2").Range("A1")
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.
Új hozzászólás Aktív témák
- OLED TV topic
- Vodafone otthoni szolgáltatások (TV, internet, telefon)
- Kicsit extrémre sikerült a Hyte belépője a készre szerelt vízhűtések világába
- Autós topik látogatók beszélgetős, offolós topikja
- Kerékpárosok, bringások ide!
- Politika
- Kihívás a középkategóriában: teszten a Radeon RX 7600 XT
- Skoda, VW, Audi, Seat topik
- Fujifilm X
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- További aktív témák...
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! LEGOLCSÓBB! Automatikus 0-24
- Adobe Creative Cloud - 2024. 04. 05 - 2025. 04. 05-ig
- Vírusirtó, Antivirus VPN kulcsok
- Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!