Print side | Luk vindue

If ActiveCell.Value <> 0 Then ???????????

Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Makro og VBA
Forum beskrivelse: Hjælp til Makroer og VBA-programmering
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=1216
Udskrevet den: 02.Jun.2024 kl. 04:49


Emne: If ActiveCell.Value <> 0 Then ???????????
Besked fra: kbno
Emne: If ActiveCell.Value <> 0 Then ???????????
Posteringsdato: 22.Apr.2013 kl. 10:54
Jeg har et script som kontorllerer og evt. kopierer en celle. Men nu har jeg haft behov for at lave nogle formler i nogle af disse celler den "tæller" og nu tror den pluselig at der står noget i cellen selvom formlen i cellen returnerer "" (blank celle)

Jeg tror selv mit problem ligger i denne linie:
                If ActiveCell.Value <> 0 Then

Nogen som kan hjælpe?????????????





Nedenfor er resten af "tælle" funktionen.

            'Komponent rækker
            Do Until C = A
                C = C + 1
               
                If ActiveCell.Value <> 0 Then
                    Selection.Copy
                    Worksheets(NytArk).Select
                    ActiveCell.Offset(1, 0).Range("A1").Select
                    Selection.PasteSpecial Paste:=xlValues
                    Worksheets(KompArk).Select
                    ActiveCell.Offset(0, E).Range("A1:B1").Select
                    Selection.Copy
                    Worksheets(NytArk).Select
                    ActiveCell.Offset(0, 1).Range("A1").Select
                    Selection.PasteSpecial Paste:=xlValues
                    ActiveCell.Offset(0, -1).Range("A1").Select
                    Worksheets(KompArk).Select
                    ActiveCell.Offset(1, -E).Range("A1").Select
           
                Else
                    ActiveCell.Offset(1, 0).Range("A1").Select
               
                End If



-------------
Hygge - Kim
Excel 365 DK user



Svar:
Besked fra: kbno
Posteringsdato: 22.Apr.2013 kl. 10:55
Jeg har også prøvet at få formlen i cellen til at returnerer 0 istedet for "", men det hjalp lige lidt.


-------------
Hygge - Kim
Excel 365 DK user


Besked fra: kbno
Posteringsdato: 22.Apr.2013 kl. 13:41
Jeg har løst problemet med at kopi kommando istedet for på de celler som krævede en formel.

Men hvis nogen har en mere simpel løsning, hører jeg den gerne. Smile


-------------
Hygge - Kim
Excel 365 DK user


Besked fra: Allan
Posteringsdato: 22.Apr.2013 kl. 13:52
Hej Kim,
 
Du kan prøve et par forskellige metoder.
 
If ActiveCell.Value <> "" Then
Eller
If IsNull(ActiveCell) Then
Eller
If ActiveCell.Value > 0 Then
 
/Allan
 
 
 


Besked fra: kbno
Posteringsdato: 22.Apr.2013 kl. 14:00
Hej Allan

Der var ingen af de 3 der virkede.

Min løsning var at inden jeg kørte mit script indlagde jeg følgende:

    Sheets("tæl").Visible = True
    Sheets("KOM-T-IQ3").Select
    Range("G7:N27").Copy
    Sheets("tæl").Select
    Range("F3").PasteSpecial Paste:=xlPasteValues, Operation:=xlAdd, SkipBlanks:=False, Transpose:=False
    Sheets("tæl").Visible = False

Herefter kørte jeg resten af scriptet uden de berørte celler.



-------------
Hygge - Kim
Excel 365 DK user


Besked fra: Allan
Posteringsdato: 23.Apr.2013 kl. 09:34
Hej Kim,
 
Dejligt du fandt en løsning Wink
Man kan sige, at opbygningen af koden afhænger lidt af det din formel returnerer.
Hvis dit script virker, vil jeg gætte på at din formel returnerer "0" og ikke 0
Gåseøjnene vil gøre at Excel ser dit 0 som tekst.
I det du kopierer og sætter ind, vil Excel genkende dit "0" som et 0
Det er absolut ikke sikkert at dette er grunden, men det kunne det være.
 
Er det derimod grunden, bør If ActiveCell.Value <> "0" Then virke.
 
//Allan
 



Print side | Luk vindue