Avatar billede h_s Forsker
24. februar 2005 - 16:39 Der er 4 kommentarer og
1 løsning

Stop makro når bestemte tegn er indeholdt i celle via makro

Jeg har en makro, der gemmer en Excel-fil og kalder den navnet i celle C5. Jeg har nogle problemer med specielt / da et firmanavn ofte indeholder A/S.

Hvordan får jeg makroen til at kontroller, at feltet ikke indeholder *!"#¤%&/()=?;:,. inden jeg gemmer?

Hvis et af tegnene er der, skal der komme en messegebox frem!

Her er starten af makroen:

Public Sub cmdGemSomLokal_Click()
Dim Blank
Dim OK
Set x = Range("C5")
  If x = "" Then
     
      'Hvis "C5" er " ", så kommer der en meddelse om at man skal skrive Kundenavn
    Blank = MsgBox(prompt:="Husk at skrive Kundenavn!", Title:="Meddelelse", Buttons:=vbInformation)
  Else
      'Vises "Er du sikker"
      OK = MsgBox(prompt:="Er du sikker?", _
        Title:="Gem", Buttons:=vbQuestion + vbYesNo)
        If OK = vbNo Then
           
        Else

Herefter bliver filen gemt i et bibliotek!

Hvem kan hjælpe mig med det?
Avatar billede jkrons Professor
24. februar 2005 - 17:46 #1
Du kan sætte dette ind i din kode:

streng = Range("c5").Value

If InStr(streng, "/") <> 0 Or _
InStr(streng, "-") <> 0 Or _
InStr(streng, "*") <> 0 Or _
InStr(streng, "!") <> 0 Or _
InStr(streng, """") <> 0 Or _
InStr(streng, "#") <> 0 Or _
InStr(streng, "¤") <> 0 Or _
InStr(streng, "%") <> 0 Or _
InStr(streng, "(") <> 0 Or _
InStr(streng, ")") <> 0 Or _
InStr(streng, "=") <> 0 Or _
InStr(streng, "?") <> 0 Or _
InStr(streng, ";") <> 0 Or _
InStr(streng, ":") <> 0 Or _
InStr(streng, ",") <> 0 Or _
InStr(streng, ".") <> 0 Then
MsgBox "Der må ikke være specialtegn fx " & vbCrLf & "(-*!""#¤%&/()=?;:,.)" & vbCrLf & "i cellen"
End If
Avatar billede bak Forsker
24. februar 2005 - 18:39 #2
eller lidt kortere

If x Like "*[*!""""¤%&/()=?;:,.$]*" Then MsgBox "Der må ikke være specialtegn fx " & vbCrLf & "(-*!""#¤%&/()=?;:,.)" & vbCrLf & "i cellen"
Avatar billede h_s Forsker
24. februar 2005 - 19:27 #3
Jeg har valgt at bruge Bak´ løsning, så vil du ligge et svar!

Jeg forstår ikke helt sammensætningen af "*[*!""""¤%&/()=?;:,.$]*"

Det første " er det for at fortælle at det er tekst?
Det første * er det for at skrive "et eller andet sted i teksten"
Hvorfor er der 4 " efter hinanden?
Avatar billede bak Forsker
24. februar 2005 - 23:21 #4
Hvor mon mit svar blev af ????
Det første " er det for at fortælle at det er tekst?    JA
Det første * er det for at skrive "et eller andet sted i teksten"  JA
Hvorfor er der 4 " efter hinanden?  Fordi du også gerne vil finde " i teksten.
Da " også er tekst og tekst er omkranset af " " bruges 4 stk til at fortælle excel at den skal finde ". Egentlig burde det kun have været 3 stk. men 4 virker
Avatar billede h_s Forsker
26. februar 2005 - 11:25 #5
Tak Bak.

Prøv lige os se om du kan hjælpe mig med et nyt spørgsmål: http://www.eksperten.dk/spm/594798
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester