Avatar billede Nervatos Seniormester
28. oktober 2017 - 19:56 Der er 3 kommentarer og
1 løsning

Tjekke om den efterladte celle er tom

Hej med Jer

Jeg har selv forsøgt at lave en VBA kode, som slet ikke fungere. Så håber lidt I kan hjælpe mig lidt.
Koden virker sådan set fint nok, hvis ikke der er en formel på cellen. Men selvom cellen er tom, så skriver den det ikke.
Jeg ønsker at, uanset om der er formel eller ej. Så længe cellen er tom, så skal den smide en msgbox.

Dim celle As String
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  On Error GoTo MyEnd

  Dim leaving As Range

  For Each leaving In Range("A1:A10")
    If celle = leaving.Address And IsEmpty(leaving.Value) Then
            MsgBox leaving.Address & " ER ET TOM FELT", vbInformation, "TEST"
End If
Next leaving
    celle = ActiveCell.Address
   
On Error GoTo 0
MyEnd:
End Sub

Håber det giver mening :o). God aften.
Avatar billede Den Store Stygge ;0) Seniormester
28. oktober 2017 - 20:51 #1
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.HasFormula = False And Target.Text = "" Then
    MsgBox "Cellen " & Target.Address & " er efterladt tom"
End If
End Sub

Er det ikke det du gerne vil?

;0)
Avatar billede excelent Ekspert
28. oktober 2017 - 20:54 #2
Dim adr As String

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("A1:A10")) Is Nothing Then Exit Sub
If adr <> "" Then
If IsEmpty(Range(adr).Value) Or Range(adr) = "" Then MsgBox "Celle " & adr & " ER ET TOM FELT", vbInformation, "TEST"
End If
adr = Target.Address
End Sub
Avatar billede Nervatos Seniormester
29. oktober 2017 - 07:18 #3
Tak for Jeres svar.
#excelent, det virker perfekt. :).
Avatar billede Nervatos Seniormester
29. oktober 2017 - 10:00 #4
#excelent
Kan man lave en macro, som kører hvergang man flytter rundt på cellerne. Således, at den tjekker om A1:A10 er blanke og hvis der cellerne i C1:C10 er data - så skal den rense hele vejen igennem fra A1:E10.

Noget i stil med:
Target.Offset(0, 1).ClearContents
Target.Offset(0, 2).FormulaLocal = "=HVIS.FEJL(B" & Target.Row & "/C" & Target.Row & ";"""")"
Target.Offset(0, 3).ClearContents
Target.Offset(0, 4).ClearContents
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