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
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
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
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.
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?
04. november 2010 - 15:07
#4
help!
04. november 2010 - 15:59
#5
Hvad kalder du din funktion med? Når jeg kalder med "B2" bliver cellerne B3 til B1003 valgt...
04. november 2010 - 16:38
#6
tak! hvordan kalder du den? skriver du =dum("B2")??
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!
04. november 2010 - 16:57
#8
Public Function Dum(celltop As Range)
04. november 2010 - 16:59
#9
Set rngCheck = Cells(col2, col)
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
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.
08. november 2010 - 09:40
#12
En funktion kan måske ikke outputte en range?
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
09. november 2010 - 09:44
#14
Allright, det virker. Havde bare håbet på en function, man kunne skrive i en celle. Mange tak.
09. november 2010 - 22:35
#15
;-))
Kurser inden for grundlæggende programmering