Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  148 149 150 151 152 153 154 155 156

Tak som niečo poskúšal. Na konci stačí prázdny ENTER

Option Explicit
Dim Isect As Range
Dim x As String
Dim Nad As Range
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set Isect = Application.Intersect(Range("C2:C500"), Range(ActiveCell.Address))
If Not Isect Is Nothing Then
Set Nad = Isect.Offset(-1, 0)
If Nad <> "" And Isect = "" Then
Isect = "'" & Right(Nad, Len(Nad) - InStr(Nad, "-") - 1) & " - "
x = InputBox(Isect)
Isect = Isect & x
If x = "" Then
ActiveCell.Offset(0, 0).Clear
Else
ActiveCell.Offset(1, 0).Select
End If
End If
End If
End Sub

A čo tak vložiť tam INPUTBOX? Nie je to veľmi praktické, ale na tento účel snáď použiteľné.

Option Explicit
Dim Isect As Range
Dim Nad As Range
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set Isect = Application.Intersect(Range("C2:C500"), Range(ActiveCell.Address))
If Not Isect Is Nothing Then
Set Nad = Isect.Offset(-1, 0)
If Nad <> "" And Isect = "" Then
Isect = "' " & WorksheetFunction.Text(Right(Nad, Len(Nad) - InStr(Nad, "-") - 1), "h:mm") & " - "
Isect = Isect & InputBox(Isect)

End If
End If
End Sub

No niečo sa mi podarilo aj bez makra.
Treba si označiť poslednú bunku v stlpci A
Je to pomenovaná bunka "posledná" a je to vlastne číslo posledného riadku.

No neviem, či sa tam tá hodnota bude vyskytovať viackrát. Ak áno potom je najlepšie urobiť to makrom.

A možno by si mohol vyskúšať automatický filter. Dáš si zobraziť potrebnú hodnotu a potom to ručne skopíruješ, kam budeš chcieť. Tých 10 listov si môžeš spojiť do jedného listu, alebo si to 10 krát zopakuješ.

Skús priložiť nejakú ukážku.

V stlpci E je zoznam priezvisk. V stlpci F sa ti ukáže, či sa nachádza v stlpci A.
V bunke E1 si vyber priezvisko, ktoré chceš zobraziť a v stlpci B sa ti zobrazí. Automatickým filtrom si to môžeš vyfiltrovať.

Nie je to dokonalé. Hľadá to aj priezviská neoddelené nijakým znakom.

Pri hodnote=-1 musia byť prvky zoradené zostupne.

Možno by stačilo aj toto
=(A1>0)*(B1<0)

A ak by to chcel ako v predchádzajúcom príspevku, tak
=CHOOSE(((A1>0)*SIGN(-B1))+2;0;"";1)

Povolenie makier je na zošite nezávislé. Inak by ochrana asi nemala zmysel. "Vypnutie" makier je možné pri otvorení zošitu s makrami, podržaním klávesu "SHIFT".
To by asi museli "prekopať" excel.

obrázok

Veď to ide. Len potom sa bude spúšťať každé makro aj to, ktoré nebudeš chcieť. Teda nebudeš mať žiadnu ochranu pred vírusmi.

Karta vývojár -> zabezpečenie makra.

Tu je súbor

Do bunky C2 daj vzorec
=(B2-A2)*1440-SUMPRODUCT(($E$2:$E$5>=A2)*($G$2:$G$5<=B2)*($G$2:$G$5-$E$2:$E$5)*1440)
a skopíruj po C8

Neuvažujem s tým, že odíde počas prestávky.
1440=24*60

SUMPRODUCT je myslím SKALARNI.SOUCIN

Sub Makro1()
Set ws = Sheets("Effectifs")
For i = 1 To 3
heslo = InputBox("Heslo")
If heslo = "Heslo123" Then
ws.Visible = 1 - ws.Visible
Exit Sub
End If
Next i
Application.DisplayAlerts = False
Application.Quit
End Sub

Asi takto?

Sub Makro2()
textstr = "C2=A2+B2"
ActiveCell.FormulaR1C1 = textstr
ActiveCell.Characters(Start:=1, Length:=Len(textstr)).Font.Superscript = False

ActiveCell.Characters(Start:=2, Length:=1).Font.Superscript = True
ActiveCell.Characters(Start:=5, Length:=1).Font.Superscript = True
ActiveCell.Characters(Start:=8, Length:=1).Font.Superscript = True
End Sub


Strana:  1 ... « předchozí  148 149 150 151 152 153 154 155 156

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje