Avatar billede spliid88 Nybegynder
04. november 2010 - 13:04 Der er 14 kommentarer og
1 løsning

Funktion debug!

Hejsa!

Jeg har følgende, som jeg ikke rigtig kan debugge synes jeg! Aner ikke hvad fejlen er!
Nogle der kan hjælpe?

Public Function AntalTomme(celltop As String, spaceallowed As Integer)

Dim col As Range
Dim col2 As Range
Dim col3 As Range
Dim tael As Integer
Dim N As Integer
Dim cl As Range
Dim rngCheck As Range
Dim rngOut As Range

Set col = Range("cell_Top").Offset(1, 0)
Set col2 = col.Offset(10000, 0)
Set rngCheck = Range(col, col2)

'rngCheck.Select


N = 0


For Each cl In rngCheck
N = N + 1
tael = 0

If IsEmpty(cl.Value) Then
tael = tael + 1
End If

If tael - 1 = spaceallowed Then

rngOut = Range(col, Range("celltop").Offset(N, 0)).Select
ActiveCell.Paste
Exit For
End If

Next

End Function
Avatar billede tjp Mester
04. november 2010 - 13:30 #1
Ikke at jeg ved hvad din funktion laver, men skal linjerne:

Set col = Range("cell_Top").Offset(1, 0)
og
rngOut = Range(col, Range("celltop").Offset(N, 0)).Select

mon ikke ændres til hhv:

Set col = Range(celltop).Offset(1, 0)
og
rngOut = Range(col, Range(celltop).Offset(N, 0)).Select
Avatar billede spliid88 Nybegynder
04. november 2010 - 13:53 #2
Det kan du måske godt have ret i. Det er jo defineret allerede som en string, så kan mååske godt udelade "".
Kan bare ikke debugge, så ved ikke hvor fejlen ligger. Den giver mig bare 0 eller fejl når jeg benytter funktionen.

Jeg ønsker bare an angive hvor mange blank felter der må være i en kolonne. Hvis man ønsker der må være 2 imellem hver værdi, så er det andet argument 2.
Avatar billede spliid88 Nybegynder
04. november 2010 - 14:39 #3
Kort sagt, hvad er der galt her?

Public Function Dum(celltop As String)


Dim col As Range
Dim col2 As Range
Dim rngCheck As Range

Set col = Range(celltop).Offset(1, 0)
Set col2 = col.Offset(10000, 0)
Set rngCheck = Range(col, col2)

rngCheck.Select

End Function

Den skal have "" eller hvad?
Avatar billede spliid88 Nybegynder
04. november 2010 - 15:07 #4
help!
Avatar billede tjp Mester
04. november 2010 - 15:59 #5
Hvad kalder du din funktion med? Når jeg kalder med "B2" bliver cellerne B3 til B1003 valgt...
Avatar billede spliid88 Nybegynder
04. november 2010 - 16:38 #6
tak!
hvordan kalder du den? skriver du =dum("B2")??
Avatar billede spliid88 Nybegynder
04. november 2010 - 16:40 #7
hvis jeg skriver =dum(C1) får jeg fejl, skriver jeg
=dum("C1") får jeg bare 0 i feltet!
Avatar billede kabbak Professor
04. november 2010 - 16:57 #8
Public Function Dum(celltop As Range)
Avatar billede kabbak Professor
04. november 2010 - 16:59 #9
Set rngCheck = Cells(col2, col)
Avatar billede kabbak Professor
04. november 2010 - 17:02 #10
eller sådan, jeg kan ikke se hvad den skal lave ?

Public Function Dum(celltop As Range)

Dim col As Range
Dim col2 As Range
Dim rngCheck As Range

Set col = Range(celltop).Offset(1, 0)
Set col2 = col.Offset(10000, 0)
Set rngCheck = Range(range(col), range(col2))

rngCheck.Select

End Function
Avatar billede spliid88 Nybegynder
08. november 2010 - 09:36 #11
Hvis jeg kører ovenstående. =Dum(B2).
Burde jeg så ikke se en markering af B3:B10000??
Jeg får bare fejl.
Avatar billede spliid88 Nybegynder
08. november 2010 - 09:40 #12
En funktion kan måske ikke outputte en range?
Avatar billede kabbak Professor
08. november 2010 - 22:40 #13
du har helt ret, prøv denne makro

Public Sub Dum()
    Dim Celltop As String
    Celltop = Application.InputBox _
              (Prompt:="Marker cellen over den øverste som skal markeres:", _
              Title:="Vælg", _
              Type:=8).Address
    Range(Range(Celltop).Offset(1, 0), Range(Celltop).Offset(10000, 0)).Select
End Sub
Avatar billede spliid88 Nybegynder
09. november 2010 - 09:44 #14
Allright, det virker. Havde bare håbet på en function, man kunne skrive i en celle.
Mange tak.
Avatar billede kabbak Professor
09. november 2010 - 22:35 #15
;-))
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
Kurser inden for grundlæggende programmering

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