• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Hulp bij VBA programma excel

Status
Niet open voor verdere reacties.

Bartjess

Gebruiker
Lid geworden
8 nov 2019
Berichten
13
Hallo,
Ik heb een klein programma geschreven met VBA in excel.
Het is de bedoeling dat er met de zoekfunctie een nummer gezocht kan worden in het gehele excel bestand en deze vervolgens rood kleurt. Dit lukt.
Nu zou ik graag 3 dingen willen die mij niet lukken.

1. alleen de rode kleur, die een cel krijgt als er een match is, moet bij een volgende zoekfunctie wit gekleurd worden. alle andere kleuren moeten blijven zoals ze zijn.

Op het moment dat er op "instructie" geklikt wordt moet het bij behorende bestand geopend worden, kijkend naar het nummer onder de geklikte cel.

2. is het mogelijk om dit nummer te zoeken terwijl alleen de eerste 5 nummers in een bestand dit nummer hebben
voorbeeld: "12-34 instructie1.pdf" dan moet excel kijken naar de "12-34" en ".pdf" en niet naar "instrucite1"

3. Ook heb ik een Userform ingebouwd zodat duidelijk is dat het bestand geladen wordt. nou zou ik graag willen dat dit userform verdwijnt als het bestand is geopend.
Als dit niet mogelijk is dan zou ik graag een tijd inbouwen dat bijvoorbeeld na 10 sec. het userform verdwijnt.

ik heb een bestandje toegevoegd met het programma

alvast bedankt
 

Bijlagen

  • test bart.xlsm
    34,5 KB · Weergaven: 44
1. Hoe weet je dat zo'n cel een andere kleur gekregen heeft bij een vorige zoekopdracht? En wat die kleur eerst was?
2. Gebruik de HYPERLINK functie en tekst functies om de bestandsnaam ervoor te genereren
3. Ik zie geen userform. Maar als je hem toont, gebruik dan vbModeless als eerste argument als je de userform toont, dan loopt de code erna gewoon door. Kan je later de form unloaden.
 
Beste jkpieterse,
1. de cellen zijn handmatig wit gemaakt. Met de volgende code zoekt excel de gezochte waarde en maakt deze rood en de tekst wit.

code:
private Sub Worksheet_Change(ByVal Target As Range)

Z = [I7].Value

For Each blad In Sheets
With blad
If .Name <> "Homepage" Then
Set g = .Cells.Find(Z, lookat:=xlWhole)


If Not g Is Nothing Then
b = True
g.Interior.Color = RGB(226, 2, 2)
g.Font.Color = RGB(255, 255, 255)
Application.Goto .Cells.Find(Z)
Else
If Not b And .Index = Sheets.Count Then MsgBox "Beschrijving niet aanwezig"

End If
End If

End With
Next
End Sub

Wil ik nu een andere waarde zoeken blijft de cel, die tijdens de vorige zoekopdracht rood is gekleurd, nog steeds rood.

2. ik wil geen hyperlink gebruiken en het met een formule oplossen

3. ik zie inderdaad dat in het bestand geen userform staat. in het orgineel heb ik het zo gedaan

code:

If ActiveCell.Value = "Assembly Instructions" Then
VBA.Shell ("explorer.exe " + filepad + FileName + Filemask), vbNormalFocus
userform1.Show
End If

hoe kan ik dan het beste de vbmodeless toepasssen?
 
feitelijk geef je wel zeer weinig info.
in welke cel staat eigenlijk Assembly Instructions
die gekleurde cellen kan je zo oplossen.

gebruik bij voorkeur geen samengevoegde cellen. vroeg of laat, en eerder vroeg, zal je in de problemen komen met vba.
 

Bijlagen

  • test bart (1).xlsm
    33,3 KB · Weergaven: 39
Beste Emields,

dank voor je reactie.

ik zie inderdaad dat ik een foutje heb gemaakt met betrekking tot de code.
"Assembly instructions" moet "Instructie" zijn. Ik heb niet het originele bestand geplaatst maar een voorbeeld.
Ik zal proberen duidelijker te vertellen wat het doel is van dit excel bestand.

Het is de bedoeling dat iemand een instructie kan gaan zoeken, op een uniek nummer.
de "Homepage" is de startpagina waar je via het nummer kan gaan zoeken of via het keuzemenu (door te klikken of de "knoppen" blad 3 en blad 5 enz.).
als ik dus in cel I7 het nummer invoer, en ik klik op enter dan ga je automatisch naar de juiste pagina en licht het nummer rood op, zodat duidelijk is waar het nummer staat.
als je dan op naast het nummer op "instructie" dubbel klikt moet de instructie geopend worden. Dit bestand staat op een bepaalde schijf.
onder "instructie" staat (in wit) het nummer dat de betreffende beschrijving heeft zodat de code met dit nummer kan gaan kijken welke instructie geopend moet worden.
als het bestand wordt geopend komt een userform op met de tekst " even geduld a.u.b. " zodat duidelijk is dat het bestand wordt geopend maar het even kan duren.
als er op "tekening" wordt dubbel geklikt dan word een ander bestandstype geopend, met de betreffende tekening, op een andere schijf met een ander bestandstype.

Dit werkt. maar het volgende nog niet.

Probleem 1 is dat de cel die rood wordt gekleurd, rood blijft. wil ik dus een andere instructie zoeken, dat toevallig op het zelfde blad staat, zijn 2 nummers rood gekleurd omdat het vorige gezochte nummer niet naar de originele achtergrondkleur(wit) terug gaat.

probleem 2 is dat het bestand waar ik naar zoek in een map niet alleen het nummer in de titel heeft staan maar ook een tekst met de omschrijving van de instructie. voorbeeld:
12-34 instructie.pdf. ik zou dus alleen op de eerste 5 nummers in die map willen zoeken, maar wel dat hij specifiek op een pdf bestand zoekt.

probleem 3 het Userform blijf constant staan. deze zou ik graag na het openen van het bestand willen laten verdwijnen of na een paar seconden. Het userform is alleen zodat duidelijk word dat het bestand wordt geopend en heeft verder geen functie.

Hopelijk heb ik mijn probleem een beetje duidelijker gemaakt.
Ik kijk even of de oplossing die jij, Emields, hebt gegeven voor de rode cel werkt en ik ga de samengevoegde cellen weghalen. alvast bedankt voor de tips
 
probl. 2 waarom zou he zelf een lange code schrijven als het ingebouwd is in excel

probl.3 is het zoiets wat he wil?

een voorbeeld zegt meer dan 1000 woorden.
 

Bijlagen

  • test bart (1) (1).xlsm
    40,9 KB · Weergaven: 42
Beste Emields,

Dankjewel voor je hulp.

Ik heb in het weekend even geprobeerd het het probleem van de rode cel is opgelost en het probleem van de Userform ook.

De bestanden openen wil ik niet via een Hyperlink doen. Er wil hier op het werk nog wel eens wat veranderen qua mappen structuur.
Zou ik de bestanden openen (en dat zijn er nog al wat) via een hyperlink zou ik een voor een de bestanden moeten koppelen en veranderd er dan wat zou ik ze een voor een moeten aanpassen.
Daarom zou ik het graag via een code doen zodat het aanpassen maar minimaal is.
 
Kijk eens naar de hyperlink functie, die maakt het mogelijk om de mappenstruktuur in een of meer cellen te zetten, hoef je maar 1 of twee cellen aan te passen als de mappen struktuur verandert.
 
@emields

ja en nee
ze staan in dezelfde map alleen zijn sommige documenten weer onder verdeeld in mappen in deze map. (hoop dat dat duidelijk is )

@jkpieterse
ik zal er eens naar kijken dankjewel
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan