Avatar billede PSI Novice
02. november 2020 - 08:39 Der er 6 kommentarer

Afbryd makro, hvis celler er tomme

Hej!

Er der nogle som kan hjælpe med en VBA kode, der kan afbryde min eksisterende makro, hvis cellerne i F2:F10000 ikke er udfyldt.
Avatar billede store-morten Ekspert
02. november 2020 - 10:20 #1
Prøv:

    Dim CountValues  As Variant
    CountValues = Application.WorksheetFunction.CountA(Range("F2:F10000"))
    If CountValues = 0 Then Exit Sub
Avatar billede PSI Novice
02. november 2020 - 15:15 #2
Hej Store-morten

Den virker delvist, men ikke helt efter hensigten. - Min makro overfører stadig data, hvis bare en af celler i F2:F10000 er udfyldt.

Hensigten er at den skal kun overfører data, såfremt en person har "godkendt" de registreringer som er i A2:E10000, hvilket gøres med initialer.

Jeg tror det er en IF funktion, som jeg ikke er dygtig nok til at lave..
Avatar billede store-morten Ekspert
02. november 2020 - 15:40 #3
Prøv at vise din kode
Avatar billede PSI Novice
02. november 2020 - 15:45 #4
Sub Overfør_Tidsregisteringer_Backup_Salary()

'      Kopiering af registreringer til samlet backup

'      oplåsning af Raw data - Kode PSI personlig

Sheets("Raw").Unprotect "xxxxx"

'      Test af afbrydelse af Makro, hvis der mangler godkendelse

'      Kopiering af Data til samlet backup

Sheets("Ark2").Select
Range("A2:A10000").Select
Selection.Copy
Sheets("Raw").Select
Range("A1:A10000").Find(Empty, LookIn:=xlValues).Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=False

Sheets("Ark2").Select
Range("B2:B10000").Select
Selection.Copy
Sheets("Raw").Select
Range("B1:B10000").Find(Empty, LookIn:=xlValues).Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=False
       
Sheets("Ark2").Select
Range("C2:C10000").Select
Selection.Copy
Sheets("Raw").Select
Range("C1:C10000").Find(Empty, LookIn:=xlValues).Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=False
       
Sheets("Ark2").Select
Range("D2:D10000").Select
Selection.Copy
Sheets("Raw").Select
Range("D1:D10000").Find(Empty, LookIn:=xlValues).Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=False
       
Sheets("Ark2").Select
Range("E2:E10000").Select
Selection.Copy
Sheets("Raw").Select
Range("E1:E10000").Find(Empty, LookIn:=xlValues).Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=False
       
Sheets("Ark2").Select
Range("F2:F10000").Select
Selection.Copy
Sheets("Raw").Select
Range("F1:F10000").Find(Empty, LookIn:=xlValues).Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=False
Avatar billede PSI Novice
02. november 2020 - 15:46 #5
Det er lykkedes mig få den til at afbryde makroen hvis ET celle ikke er udfyldt korrekt, problemet opstår når det er en lang række celler.

For at afbryde makroen ved en celle der ikke er udfyldt har jeg brugt denne kode

Dim rCell As Range
Set rCell = Range("D4")

If IsEmpty(rCell) Then

    MsgBox "Udfyld Venligst medarbejder navn"
   
    Exit Sub
       
End If
Avatar billede store-morten Ekspert
02. november 2020 - 20:46 #6
Kan ikke få din kode til at køre!
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

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