-
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
-
Delila_1
Topikgazda
válasz Metathrone #13948 üzenetére
Ezt akkor tudod automatikusan megoldani, ha a billentyűzettel törlöd a cellák tartalmát. Ha 1 db makród van a 6 cellához, akkor a lenti makrót másold a lapod kódlapjára.
Private Sub Worksheet_Change(ByVal Target As Range)
If IsEmpty(Target) And (Target.Address = "$B$10" Or Target.Address = "$C$3" Or _
Target.Address = "$D$12") Then
Makró_neve
End If
End SubÉn csak 3 címet írtam be (B10, C3 és D12), ezt egészítsd ki 6-ra, és a saját címeidre.
Ha a 6 kiürített cellának más-más makrókat kell indítaniuk, akkor a következőt másold a lapod kódlapjára.Private Sub Worksheet_Change(ByVal Target As Range)
If IsEmpty(Target) Then
Select Case Target.Address
Case "$B$10"
Makró_1
Case "$C$3"
Makró_2
Case "$D$12"
Makró_3
'.
'.
'.
End Select
End If
End SubItt is csak 3 címet adtam meg. Az indítandó makrók címe nálam Makró_1, Makró_2, és Makró_3.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Metathrone
csendes tag
válasz Metathrone #13951 üzenetére
Előző hozzászólásom törölve, jól működik, csak találkoztam egy új problémával; szóval akkor kellene az adott makrónak lefutnia, ha ezek a feltételek teljesülnek: A1 és A3 nem üres illetve A1 és A3 üres.
Köszönöm a segítséget
-
poffsoft
addikt
válasz Metathrone #13952 üzenetére
1.) az IsEmpty(Cell) negáltja a NOT IsEmpty(cell)
2.)Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Address
Case "$A$1", "$A$3"
If (IsEmpty($A$1) AND IsEmpty($A$3)) OR (NOT(IsEmpty($A$1)) AND NOT(IsEmpty($A$3))) Then Makró_1
Case "$D$1", "$D$3"
'.
'.
'.
End Select
End Sub[ Szerkesztve ]
-
lappy
őstag
válasz Metathrone #13956 üzenetére
A különbség csak annyi hogy pozitív lesz a szám tőle, ha negatív "-" jelet teszel akkor negatív lesz a szám! Mondjuk én csak szum fv. használtam, ill próbáltam ki!
Bámulatos hol tart már a tudomány!
-
Delila_1
Topikgazda
válasz Metathrone #13956 üzenetére
A függvények, képletek beírását "=" , vagy "+" jellel kell kezdeni. Ha "+" jellel kezded, akkor az Excel önállóan írja be elé az "=" jelet, akkor lesz a függvény, vagy képlet elején "=+". Az eredmény ugyanaz.
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
válasz Metathrone #14150 üzenetére
A példád alapján írd le, ha FKERES lenne a függvény, akkor mit keresnél és milyen tartományban.
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)
-
lappy
őstag
válasz Metathrone #14279 üzenetére
Szia!
Valódi jelszó megtudására a GOOGLE-ba beírva egy pár kulcsszót kidob egy pár programot amivel excel jelszót meg lehet tudni! Igaz el tarthat egy darabig még megkeresi a valódi jelszót!Bámulatos hol tart már a tudomány!
-
Metathrone
csendes tag
válasz Metathrone #15630 üzenetére
Még annyi az egészhez, hogy a makró egy üres munkafüzetben futna, így lenne hatással a többi nyitott táblára
-
veterán
válasz Metathrone #19759 üzenetére
Sub datum()
Dim i as Integer '32ezer akárhány sorig
For i = 1 To 100
If Worksheets("Munka1").Cells(i, 2).Value <> "" Then
Worksheets("Munka1").Cells(i, 3).Value = Date
End If
Next i
End Suba Munka1 helyére a kívánt munkalap nevét írhatod, a 100-at meg annyira írod át, ahány sorig a ciklust futtatni szeretnéd.
[ Szerkesztve ]
"a jövötsajnos nemlehet tudni csakhamárotvagy deakormegmár azajelen"
-
veterán
válasz Metathrone #19761 üzenetére
na ez jó kérdés, szerintem a makrót mindenképp manuálisan kell elindítanod, egyszerűbb megoldani ezt egy HA fv-nyel a C oszlopban.
"a jövötsajnos nemlehet tudni csakhamárotvagy deakormegmár azajelen"
-
Mutt
aktív tag
válasz Metathrone #19759 üzenetére
Hello,
Az ilyen feladat tipikusan a lap Change eseményével oldható meg.
Jobb klikk a lapon és "Kód megjelenítése" opcióval a laphoz rendelhetsz makrót. A lenti kódot másold be.Annyi pluszt tettem bele hogy ha üres a cella akkor mellőle kiveszi a dátumot.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell As Range
'csak a második, a B-oszlop esetén fusson
If Target.Column = 2 Then
'ha egyszerre több cella keül módosításra,
'akkor egyenként végigpörgetjük őket
For Each cell In Target
'ha nem üres akkor jobbra 1-el aktuális dátum, különben töröljük
If cell.Value <> "" Then
cell.Offset(, 1).Value = Date
Else
cell.Offset(, 1).Value = ""
End If
Next cell
End If
End Subüdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Metathrone
csendes tag
válasz Metathrone #19765 üzenetére
Megoldottam
-
Mutt
aktív tag
válasz Metathrone #19776 üzenetére
Cells.CurrentRegion.Select
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Mutt
aktív tag
válasz Metathrone #19778 üzenetére
Set tbl = Cells.CurrentRegion
tbl.Offset(1, 0).Resize(tbl.Rows.Count - 1, tbl.Columns.Count).selectA tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Delila_1
Topikgazda
válasz Metathrone #21208 üzenetére
A gombok Click eseményében tudod állítani az engedélyezést.
gomb_neve.enabled=true, vagy gomb_neve.enabled=false.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 Metathrone #21220 üzenetére
Nem én írtam, és már nem emlékszem, honnan spájzoltam be. A füzet megnyitásakor az aktuális lap A1 cellájába írja az időt, és másodpercenként módosítja.
A ThisWorkbook-hoz rendeld:
Private Sub Workbook_Open()
Recalc
End SubModulba:
Dim SchedRecalc As Date
Sub Recalc()
Range("A1").Value = Format(Time, "hh:mm:ss")
Call SetTime
End Sub
Sub SetTime()
SchedRecalc = Now + TimeValue("00:00:01")
Application.OnTime SchedRecalc, "Recalc"
End Sub
Sub Disable()
On Error Resume Next
Application.OnTime EarliestTime:=SchedRecalc, Procedure:="Recalc", Schedule:=False
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.
-
Metathrone
csendes tag
válasz Metathrone #21222 üzenetére
Megvan, köszi
-
Delila_1
Topikgazda
válasz Metathrone #21223 üzenetére
Tedd ki, hogy más is tudja hasznosítani.
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 Metathrone #21225 üzenetére
Mindegyik makró modulba kerül.
Private Leallitando As Boolean
Private Xlsnev As String
Private Munkalapnev As String
Private Cellasor As Integer
Private Cellaoszlop As Integer
Sub Pontosidő()
If Leallitando Then Exit Sub
Application.OnTime Now() + TimeSerial(0, 0, 1), "Pontosidő"
Workbooks(Xlsnev).Sheets(Munkalapnev).Cells(Cellasor, Cellaoszlop) = Format(Now(), "yyyy.mm.dd. hh:nn:ss")
End Sub
Sub leallítás()
Leallitando = True
End Sub
Sub Inditás()
Xlsnev = ActiveWorkbook.Name
Munkalapnev = ActiveSheet.Name
Cellasor = 1
Cellaoszlop = 1
Leallitando = False
Pontosidő
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.