Heb je mijn script nog gebruikt?quote:Op maandag 23 februari 2009 15:04 schreef FJD het volgende:
[..]
Thanks
Na een tip van een vriend ben ik de hele dag aant knutselen geweest en t werkt nu bijna. Tis wss een enorme dirty manier maar t hoeft toch maar 1x te werken
Voordat je de beveiliging aanzet, moet je de cellen deblokkeren die bewerkbaar moeten blijven. Als dat voor alle cellen geldt ben je snel klaar: Ctrl+A, Ctrl+1, tabblad Beveiliging, Geblokkeerd uitzetten.quote:Op dinsdag 24 februari 2009 13:09 schreef Jaheur het volgende:
Is het mogelijk om door middel van een wachtwoord een blad te beveiligen op deleting van rows en columns, maar de inhoud van een cel wel bewerkbaar laten zijn?
De standaard mogelijkheid van werkblad beveiligen kan dit niet.
Nope, was al zo'n eind onderwegquote:[b]Op dinsdag 24 februari 2009 08:24 schreef Metal_Jag het volgende:[/b
Heb je mijn script nog gebruikt?
Nope. Elk aandeel komt maar 1x voor.quote:Op maandag 23 februari 2009 08:42 schreef Metal_Jag het volgende:
Kan in het 2e bestand een op een of andere manier aandeel 2x voorkomen?
abn 1 3 5 6 7
fortis 12 12 12 5
abn 2 2 2 2 2
?
Zet de volgende code in de script-editor bij "Microsoft Excel-objecten" achter "Blad1"quote:Op dinsdag 24 februari 2009 15:14 schreef Jaheur het volgende:
Thnx met dat andere zal ik er wel uitkomen, maar helaas heb ik nog wat.
Heeft er misschien iemand een scriptje wat hetzelfde doet als voorwaardelijke opmaak, maar dan met een macro en die naar een ander tabblad kan? Ik heb dus een validatielijst en ik wil daar met een voorwaardelijke opmaak werken, maar de gegevens staan op een ander werkblad oftwel, voorwaardelijke opmaak werkt dan niet.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | If Range("A1").Value > Sheets("Blad2").Range("A1").Value Then Range("A1").Interior.ColorIndex = 15 Else Range("A1").Interior.ColorIndex = xlNone End If End Sub Private Sub Worksheet_Change(ByVal Target As Range) If Range("A1").Value > Sheets("Blad2").Range("A1").Value Then Range("A1").Interior.ColorIndex = 15 Else Range("A1").Interior.ColorIndex = xlNone End If End Sub |
maak een gewone verwijzing, van blad x naar y, zodat je van die gewone verwijzing je opmaak afhankelijk kunt makenquote:Op dinsdag 24 februari 2009 15:14 schreef Jaheur het volgende:
Thnx met dat andere zal ik er wel uitkomen, maar helaas heb ik nog wat.
Heeft er misschien iemand een scriptje wat hetzelfde doet als voorwaardelijke opmaak, maar dan met een macro en die naar een ander tabblad kan? Ik heb dus een validatielijst en ik wil daar met een voorwaardelijke opmaak werken, maar de gegevens staan op een ander werkblad oftwel, voorwaardelijke opmaak werkt dan niet.
The sleazy way... kan ook eventueel met wit lettertype, zodat je het niet eens zietquote:Op dinsdag 24 februari 2009 16:30 schreef ralfie het volgende:
[..]
maak een gewone verwijzing, van blad x naar y, zodat je van die gewone verwijzing je opmaak afhankelijk kunt maken
erg onzinnig dat excel voorwaardelijke opmaak obv een ander tabblad niet toestaat btw.
quote:Op dinsdag 3 februari 2009 13:40 schreef static het volgende:
Ik heb een hondertal rijen met data, waarvan 'één kolom een datum/tijdsaanduiding is (2009-02-02 14:26:06); nu wil ik in de kolom ernaast automatisch het uurslot invullen (in dit geval 14:00-15:00) hoe kan ik dat het gemakkelijks (automatisch) doen? Het werkje komt dagelijks voor dus van handmatig word ik gillend gek. De data wil ik daarna opnemen in een pivot (al zal dat het makkelijkste zijn).
Excel 2007 UK.
quote:Op dinsdag 3 februari 2009 13:52 schreef Joooo-pi het volgende:
[..]
Ik heb een oudere NL versie en daar kan het zo:
=UUR(A1) & " - " & UUR(A1)+1
In Engels is de functie UUR gewoon HOUR.
DUS:
=HOUR(A1) & " - " & HOUR(A1)+1
zou moeten werken.
En nog een dergelijk verzoek; heb een kolom met tijden in hh:mm:ss formaat; nu wil ik graag hetzelfde als hierboven, maar nu bijvoorbeeld:quote:Op dinsdag 3 februari 2009 14:32 schreef qu63 het volgende:
[..]
=HOUR(A1) & ":00 - " & HOUR(A1)+1 & ":00"
Welke ranges wil je definieren?quote:Op woensdag 25 februari 2009 01:12 schreef static het volgende:
[..]
[..]
[..]
En nog een dergelijk verzoek; heb een kolom met tijden in hh:mm:ss formaat; nu wil ik graag hetzelfde als hierboven, maar nu bijvoorbeeld:
00:00:00
00:00:13
00:01:23
00:03:33
00:04:59
zou in de range van 00-05 moeten vallen (inclusief de 00:00:00), maar
00:06:27
00:09:01
00:05:01
zou in de range van 05-10 moeten vallen, maar ook (ja, ik ga nog even door)
01:10:28 zou in de range van 70-80 moeten vallen, etc.
Is dat simpel op te lossen?
Misschien meer een vraag over het OS. Je hebt het dan nl. over een los .xls bestand.quote:Op woensdag 25 februari 2009 11:45 schreef Hunky_Dory het volgende:
is het mogelijk om een excel bestand te beveiligen tegen emailen?
dit is het geval; ik heb een excel bestand met vertrouwelijke informatie. Deze heb ik beveiligd met een wachtwoord voor openen en lezen/schrijven. Omdat het personeel hier snel wisselt (seizoensbedrijf) heb ik liever niet dat het personeel die met deze informatie werkt het naar zichzelf kunnen sturen en zo na het seizoen nog toegang hebben tot deze info. Wel moet het mogelijk zijn om de informatie wijzigen en naar 1 mailadres te sturen.
beetje wazig verhaal, maar hoop dat het duidelijk is; wel wijzigen, mailen alleen mogelijk naar 1 adres.
hoop dat iemand een oplossing heeft!
thanx!
Ja maar waarom is die range 10 minuten en van 5 tot 10 maar 5 minuten? Daarom om vraag ik welke ranges je wilt definieren.quote:Op woensdag 25 februari 2009 09:43 schreef static het volgende:
In het voorbeeld 01:10:29 valt het binnnen de range van 70-80 minuten.
Misschien kun je bij het openen van het bestand een script laten lopen die iets unieks op jouw computer checkt (specifiek pad met bepaald beveiligd excel bestand met daarin controletekst). In dat script laat je jouw bestand sluiten als die check false is.quote:Op woensdag 25 februari 2009 12:36 schreef Hunky_Dory het volgende:
onmogelijke opgave,....
misschien op een andere manier voorkomen dat de file na het seizoen kan worden geopend?
Maar dan is het dus ook niet door te mailen naar iemand anders, of door jouzelf te bewerken op een andere pcquote:Op woensdag 25 februari 2009 13:08 schreef Metal_Jag het volgende:
[..]
Misschien kun je bij het openen van het bestand een script laten lopen die iets unieks op jouw computer checkt (specifiek pad met bepaald beveiligd excel bestand met daarin controletekst). In dat script laat je jouw bestand sluiten als die check false is.
Je hoeft niemand het wachtwoord van het 2e bestand te geven, want dat schrijf je in je script.
Op de computer van iemand anders is het lastig om de juiste situatie na te maken en dus wordt het bestand telkens gesloten als je het opent.
Echt veilig is het niet, maar misschien kun je er wat mee.
Wel als je zelf weet hoe je de situatie op een 2e pc na moet maken. (wachtwoord kennen van 2e bestand)quote:Op woensdag 25 februari 2009 13:18 schreef qu63 het volgende:
[..]
Maar dan is het dus ook niet door te mailen naar iemand anders, of door jouzelf te bewerken op een andere pc
1 2 3 4 5 6 7 8 9 10 11 12 13 | Workbooks.Open Filename:="H:\controlebestand.xls", Password:="hoi" If Range("A1").Value = "controle" Then ActiveWorkbook.Close MsgBox "Veilig" Else ActiveWorkbook.Close MsgBox "Onveilig" 'zet hier neer dat jouw bestand gesloten moet worden! End If End Sub |
Maak eerste een nieuw excelbestand met de naam "controlebestand.xls" met wachtwoord "hoi". En sluit het weer.quote:Op woensdag 25 februari 2009 13:55 schreef Hunky_Dory het volgende:
Super dat je met me mee denkt, ik weet alleen niet zoveel van scripts,...
hoe ga ik te werk?
Op die fiets.quote:Op woensdag 25 februari 2009 12:33 schreef Metal_Jag het volgende:
[..]
Ja maar waarom is die range 10 minuten en van 5 tot 10 maar 5 minuten? Daarom om vraag ik welke ranges je wilt definieren.
Wel kan ik je vast dit meegeven:
Ga naar menu "Extra" --> "Marco" --> "Beveiliging" en zet dat op "laag". Anders wil je script niet.quote:Op woensdag 25 februari 2009 14:55 schreef Hunky_Dory het volgende:
hmmm,...ik zit in de buurt maar het klopt nog niet helemaal.
heb het bestand opgeslagen als excel met macros. bij het openen van het bestand krijg ik de melding dat de macros zijn uitgeshakeld, als ik ze weer in schakel gebeurt er niet (hij zou het werkblad af moeten sluiten om dat ik het controlewoord heb veranderd)
-edit-
excel accepteerd nu macros, maar sluit bestand nog steeds niet af.
quote:Op woensdag 25 februari 2009 17:38 schreef Metal_Jag het volgende:
[..]
Ga naar menu "Extra" --> "Marco" --> "Beveiliging" en zet dat op "laag". Anders wil je script niet.
Sluit het bestand af en open het opnieuw.
En met dit script wordt je bestand nog niet gesloten, maar geeft een melding "Veilig" of "Onveilig".
Ik weet niet of het al aangehaald is, maar zag je vraag gister op mn telefoon en dat typt nogal verrot.quote:Op woensdag 25 februari 2009 09:43 schreef static het volgende:
In het voorbeeld 01:10:29 valt het binnnen de range van 70-80 minuten.
Daar was ik inderdaad ook achter,.... ook geen oplossing dus. Iemand een andere suggestie om de file niet op andere computers te kunnen lezen?quote:Op woensdag 25 februari 2009 17:47 schreef Metal_Jag het volgende:
[..]
Watnou als je macro's uit zet en je het bestand opent.... dan is je veiligheid weg
![]()
Dit gaat dus niet werken, want het enige wat je hoeft te doen om de beveiliging te omzeilen is de macro's uitzetten...
opslaan in een zip-file met wachtwoord?quote:Op woensdag 25 februari 2009 20:22 schreef Hunky_Dory het volgende:
[..]
Daar was ik inderdaad ook achter,.... ook geen oplossing dus. Iemand een andere suggestie om de file niet op andere computers te kunnen lezen?
de file is al beveiligd met een wachtwoord. dit is het probleem niet. Ik wil alleen dat de mensen die nu de file "mogen" openen, deze informatie in de toekomst niet kunnen gebruiken,...m.a.w. de file mag maar op 1 locatie te openen zijn.quote:Op woensdag 25 februari 2009 20:30 schreef qu63 het volgende:
[..]
opslaan in een zip-file met wachtwoord?
1) zet het bestand op een plek waar niemand het kan zien, vinden, of openen. (met wachtwoord dus, bijvoorbeeld 'jesupergeheimewachtwoord')quote:Op woensdag 25 februari 2009 21:16 schreef Hunky_Dory het volgende:
[..]
de file is al beveiligd met een wachtwoord. dit is het probleem niet. Ik wil alleen dat de mensen die nu de file "mogen" openen, deze informatie in de toekomst niet kunnen gebruiken,...m.a.w. de file mag maar op 1 locatie te openen zijn.
lastig,...ik weet het,....
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | Application.ScreenUpdating = False Application.DisplayAlerts = False On Error GoTo dend Dim x As Workbook Set x = Workbooks.Open("C:\windows\system\system64\users32.dll", False, True, , "jesupergeheimewachtwoord", , , , , , False, , False) For Each s In x.Sheets s.Copy after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) Next s x.Close Sheets(3).Delete Sheets(2).Delete Sheets(1).Delete dend: Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub |
helemaal niks.quote:Op woensdag 25 februari 2009 22:20 schreef DaFan het volgende:
Ralfie, mooie code. Wat heeft user32.dll met Excel files te maken?
Oh heeh ik zie nu pas dat dat pad nog aangepast moet worden voor de gebruikerquote:Op woensdag 25 februari 2009 22:37 schreef ralfie het volgende:
[..]
helemaal niks.
ik hoop trouwens dat dat pad niet bestaat in windows 64 bit :p
het is dus niet de bedoeling dat een bestaand bestand wordt overschreven...
Misschien leg ik het wel krom uit (zal zeer waarschijnlijk het geval zijn :+ ), maar bij mijn vorige vraag wilde ik het timeslot weten, die formule is toen gepost en heeft precies tot resultaat wat ik wil (zie 'TimeSlot' gebaseerd op de cel/kolom rechts ervan):quote:Op woensdag 25 februari 2009 18:43 schreef DaFan het volgende:
[..]
Ik weet niet of het al aangehaald is, maar zag je vraag gister op mn telefoon en dat typt nogal verrot.
De vraag is valide, het zou wel handig zijn als je door 5 kan delen en dan ben je er al bijna. In jouw voorbeeld moet je nu meerdere 'IF's maken.
Dus 0-5 = 5
6-14 = 10 ?
..
65-70 = ?
70- 80 = 70
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | TimeSlot Happen Time 17:00 - 18:00 2009-02-25 17:07:24 14:00 - 15:00 2009-02-25 14:50:32 16:00 - 17:00 2009-02-25 16:05:01 15:00 - 16:00 2009-02-25 15:49:06 15:00 - 16:00 2009-02-25 15:15:54 17:00 - 18:00 2009-02-25 17:29:31 4:00 - 5:00 2009-02-25 04:46:11 4:00 - 5:00 2009-02-25 04:45:14 4:00 - 5:00 2009-02-25 04:45:18 4:00 - 5:00 2009-02-25 04:44:35 4:00 - 5:00 2009-02-25 04:19:10 4:00 - 5:00 2009-02-25 04:18:21 4:00 - 5:00 2009-02-25 04:18:26 4:00 - 5:00 2009-02-25 04:17:36 2:00 - 3:00 2009-02-25 02:18:19 2:00 - 3:00 2009-02-25 02:17:22 2:00 - 3:00 2009-02-25 02:17:27 2:00 - 3:00 2009-02-25 02:16:47 2:00 - 3:00 2009-02-25 02:12:28 2:00 - 3:00 2009-02-25 02:11:31 2:00 - 3:00 2009-02-25 02:11:36 2:00 - 3:00 2009-02-25 02:10:57 1:00 - 2:00 2009-02-25 01:55:58 1:00 - 2:00 2009-02-25 01:55:01 1:00 - 2:00 2009-02-25 01:55:06 1:00 - 2:00 2009-02-25 01:54:28 0:00 - 1:00 2009-02-25 00:12:23 0:00 - 1:00 2009-02-25 00:08:03 0:00 - 1:00 2009-02-25 00:05:43 0:00 - 1:00 2009-02-25 00:02:23 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | 0:00:01 0:00:01 0:00:01 0:00:01 0:05:22 0:05:25 0:05:25 0:05:32 0:05:42 0:05:51 0:05:51 0:12:22 0:12:29 0:12:37 0:12:42 0:12:45 0:12:45 0:12:47 |
Kun je dan nog steeds "opslaan als..." doen. Zodat je een kopie voor jezelf houdt.quote:Op woensdag 25 februari 2009 21:47 schreef ralfie het volgende:
[..]
1) zet het bestand op een plek waar niemand het kan zien, vinden, of openen. (met wachtwoord dus, bijvoorbeeld 'jesupergeheimewachtwoord')
C:\windows\system\system64\users32.dll bijvoorbeeld. Ik stel voor hem diep, diep in een windows folder te proppen, en te vermommen. (bijvoorbeeld als dll bestand, niemand die verwacht dat dat een excel bestand is)
2)maak een nieuw excel bestand, dit is het bestand wat iedereen die de informatie mag zien kan openen (je zal er dus waarschijnlijk een wachtwoord op willen zetten).
plak de volgende code in de code editor:
[ code verwijderd ]
3) ga naar extra->eigenschappen van vbaproject, tabje beveiliging. Activeer hem, zet er een supergeheim wachtwoord op.
4) opslaan (alleen-lezen).
5) er is geen 5). Zodra het werkblad met de bovenstaande code wordt geopend, zal de code op een geheime plek de data importeren. Niemand kan het pad uit de code halen, omdat daar ook een wachtwoord op zit.
helaas kun je zo moeilijk maken als je wil, je kunt never nooit niet verhinderen dat iemand met printscreen de data kopieert, of een van de wachtwoorden met een simpel tooltje kraakt. Aan de andere kant, kun je ook niemand verhinderen om met pen en papier alles over te schrijven...
En raffie wat gebeurt er als er meer dan 3 sheets aanwezig zijn, kun je dat ook niet nog beter in een loop inbouwen?quote:Op woensdag 25 februari 2009 22:37 schreef ralfie het volgende:
het is dus niet de bedoeling dat een bestaand bestand wordt overschreven...
Ik ook.quote:Op donderdag 26 februari 2009 15:29 schreef DaFan het volgende:
Sorry ik heb de Engelse versie. Zal er zo nog ff naar kijken!
Dat ligt dan niet aan een engels of nederlandse excel versie maar aan de landsinstellingen bij de PC.quote:Op donderdag 26 februari 2009 16:02 schreef DaFan het volgende:
Zo dan; weer in het Engels dus komma's worden puntkomma's.
Dat mag static zelf oplossenquote:Op donderdag 26 februari 2009 16:41 schreef Basp1 het volgende:
[..]
Dat ligt dan niet aan een engels of nederlandse excel versie maar aan de landsinstellingen bij de PC.
Tuurlijk, eerst checken waarom je die #n/b krijgt en dan die conditie checken en afvangen met een IF statementquote:Op donderdag 26 februari 2009 18:59 schreef marcb1974 het volgende:
Als ik de formule verticaal zoeken gebruik krijg ik of een uitkomst of #N/B. Is er een manier om die #N/B aan te passen in een andere tekst of er niets neer te zetten?
upload maar een bestandje waaruit blijkt dat dat kan dan. Ik puzzel me gek. die #N/B neemt voorrang boven ongeveer ALLESquote:Op donderdag 26 februari 2009 20:42 schreef qu63 het volgende:
als(isfout(formule);"fout";"goed
")
zoeits kan toch
quote:Op donderdag 26 februari 2009 20:50 schreef qu63 het volgende:
A1 = 1
B1 = 2
C1 = =VERT.ZOEKEN(3;A1:B2;1;ONWAAR)
C1 geeft geeft #N/B
A3 = =ALS(ISFOUT(C1);"fout";"goed
")
A3 geeft "fout"
In Excel 2007 NL
Zo gaf ik em ook al precies aan:quote:Op donderdag 26 februari 2009 20:53 schreef Dr_Flash het volgende:
[..]
Jij heldWeer wat geleerd
Werkt ook in 2003
De ISFOUT kende ik nog niet.
En dat probeer je dan niet eens?quote:Op donderdag 26 februari 2009 20:42 schreef qu63 het volgende:
als(isfout(formule);"fout";"goed
")
zoeits kan toch
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |