---
title: "Taxam för hjälp med koden"
type: "forum-thread"
url: "https://www.webforum.nu/amne/kontorsprogram/23422-taxam-för-hjälp-med-koden"
topic: "Kontorsprogram"
topic_url: "https://www.webforum.nu/amne/kontorsprogram"
author: "prls"
published: "2001-09-04T17:20:00.000Z"
updated: "2001-09-09T13:39:00.000Z"
replies: 11
views: 388
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/kontorsprogram/23422-taxam-för-hjälp-med-koden"
---

# Taxam för hjälp med koden

## #1 — prls, 2001-09-04T17:20Z

Hellö,

En förbättring jag har jobbat på senaste veckorna är följande: jag har lagt till en ”flersides”-formulär.. Pa varje sida finnes mellan 4 – 6 stycken Kryssrutor (CheckBox) med korresponderande textruta (TextBox).

Jag försöker få ”programmet” att göra följande:
Arbetsboken består av 10 sidor med “vätskebalans” som den aktiva, som öppnas då arbetsboken öppnas. 

- När boken öppnas visas endast sidan ”vätskebalans”.
- När knappen ”vbl” trycks visas formuläret i egen ruta.

 Då man tycker på en knapp på en sida skall följande hända:
1) Kolla vilka av kryssrutorna är markerade
2) Kolla efter den första ifyllda rutan i området E7:K7
3) Sök i området B15:B36 efter ”checkbox..Caption”
4) om ”checkbox..Caption” hittats så förflytta - på den rad där uttrycket hittats –till den kolumn  i området E7:K7 där den första tomma cellen hittats och där fylla i ”TextBox.Value”
5) om ej ”checkbox..Caption” hittats så skriv in detta i första tomma cellen i området B15:B36 och förflytta till den kolumn  i området E7:K7 där den första tomma cellen hittats och där fylla i ”TextBox.Value”.
6) Upprepa detta tills samtliga kryssrutor och textrutor…

Följande kod har jag kommit fram till senaste veckan:\<font size="1" face="Verdana, Arial, Helvetica, sans-serif"\>Kod:\<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600"\>. Private Sub Search_fill()
  Dim wsBlad As Worksheet
  Dim m As Range
  Dim p As Range
  Dim q As Range
  Dim r As Range
  Dim ctr As MSForms.Control
  Dim txb As MSForms.Control

Set wsBlad = ThisWorkbook.Worksheets("vätskebalans")
Set mysearch = ctr.Caption
Set r = Application.WorksheetFunction.CountA(Range("E7:K7")) + 1
Set p=wsBlad.Range(”B15:B36”)
Set q= Application.WorksheetFunction.CountA(Range(”B15:B36”)) + 1

  For Each ctr In MultiPage1.Pages(MultiPage1.Value).Controls
    If TypeOf ctr Is MSForms.CheckBox Then
      If ctr.Value true then
With p
Set m =.Find(What:=mysearch, LookIn:=xlValues, \_
        LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext)

If m is nothing then 
Cells(q,0).Value=mysearch  
Cells(0,r).Value=txb.Value
Else Cells (0,r).Value= txb.Value
      End If
    End If
End if
End with
  Next ctr
End Sub
Problemet är att när jag trycker F5 i VBE får jag bara felmeddelande 
Taxam för hjälp med koden

Permalänk: https://www.webforum.nu/p/23422

## #2 — prls, 2001-09-05T04:38Z

Hej Dennis,
Hoppas Du har haft en bra sommar!.
”Dags” har hela tiden varit,  har bara ägnat tiden åt att läsa boken, och försöka på egen hand. Jag köpte John Walkenbach :*”XL2000 power programming with VBA”*
Har lärt mig massor, men det är inte så lätt bara på egen hand….

Debugging och msgbox är en av sakerna som jag inte riktigt fattat – menar Du att jag bör sätta ett msgbox efter varje set?

> r - range?
> q - range??

Det var ju Du som lärde mig att definiera sådana områden som Range 

/Peter

Permalänk: https://www.webforum.nu/p/362612

## #3 — prls, 2001-09-05T18:38Z

Hej Dennis,
 Låter som Du jobbar som lärare, eller?

Japp, är fullt nöjd med boken, även om vissa svagheter har jag upptäckt, bla variabel området

Ditt exempel: 

> Exempel:
> Dim r as Range
> Set r = 1

 fattar jag tyvärr inte riktigt. När tilldelar jag r värdet 1??

Skulle Du kunna ge exempel på hur jag i mitt aktuella kod kunde använda mig av ditt tipps

> Ett tips för debugging:
> Sätt en msgbox för de olika variablerna när de har tilldelats värden samt stoppa koden direkt efter msgbox.

 

Som vanligt är jag ytterligt taxam för all din ovärderliga hjälp och råd

Permalänk: https://www.webforum.nu/p/362613

## #4 — prls, 2001-09-06T14:23Z

Är detta upplägg bättre, kanske tom bra??\<font size="1" face="Verdana, Arial, Helvetica, sans-serif"\>Kod:\<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600"\>Private Sub Search_fill()
Dim wsBlad As Worksheet
Dim mysearch as String
Dim Datum As Range
Dim Sort As Range
Dim m As String
Dim rnCellD As Range
Dim ctr As MSForms.Control
Dim txb As MSForms.Control 

Set wsBlad = ThisWorkbook.Worksheets("vätskebalans")
Set mysearch = ctr.Caption
Set Datum = wsBlad.Range("E7:K7")
For Each rnCellD In Datum
If Not IsEmpty(rnCellD) Then
Set Sort = Range(rnCellD.Offset(8, -3), rnCellD.Offset(42, -3))

For Each ctr In MultiPage1.Pages(MultiPage1.Value).Controls
If TypeOf ctr Is MSForms.CheckBox Then
If ctr.Value = true then
With Sort
Set m =.Find(What:=mysearch, LookIn:=xlValues, \_
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext) 
If m is nothing then 
Cells(sort,1).Value=mysearch 
Cells(1, rnCellD).Value=txb.Value
Else Cells(1, rnCellD).Value=txb.Value 
End If
End If
End if
End with
Next ctr
Next rnCellD
End Sub

Permalänk: https://www.webforum.nu/p/362614

## #5 — prls, 2001-09-06T16:05Z

Dennis, Du är en klippa och måste tycka att jag är en otacksam jävul, men –vilket jag itne är 
Men jag tror att jag ”behöver” msgbox för:

1) i vilka celler som letas igenom (tex B20) med \<font size="1" face="Verdana, Arial, Helvetica, sans-serif"\>Kod:\<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600"\>Set Sort = Range(rnCellD.Offset(8, -3), rnCellD.Offset(42, -3))
2) i vilka celler resultatet skrivs med \<font size="1" face="Verdana, Arial, Helvetica, sans-serif"\>Kod:\<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600"\> Cells(sort,1).Value=mysearch 

Är och förblir dig evinnerlig tacksam
/Peter

Permalänk: https://www.webforum.nu/p/362615

## #6 — prls, 2001-09-06T21:30Z

Dennis, 
Jag försökte ikväll:
I projekt5.xls/formulär –mappen/UserForm1 satte jag in nedanstående:\<font size="1" face="Verdana, Arial, Helvetica, sans-serif"\>Kod:\<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600"\> Private Sub Search_fill()
Dim wsBlad As Worksheet
Dim mysearch As String
Dim Datum As Range
Dim Sort As Range
Dim m As String
Dim rnCellD As Range
Dim ctr As MSForms.Control
Dim txb As MSForms.Control

Set wsBlad = ThisWorkbook.Worksheets("vätskebalans")
Set mysearch = ctr.Caption
Set Datum = wsBlad.Range("E7:K7")
For Each rnCellD In Datum
If Not IsEmpty(rnCellD) Then
Set Sort = Range(rnCellD.Offset(8, -3), rnCellD.Offset(42, -3))
For Each rnCellD In Sort
MsgBox rnCellD.Adress
Next rnCellD
For Each ctr In MultiPage1.Pages(MultiPage1.Value).Controls
If TypeOf ctr Is MSForms.CheckBox Then
If ctr.Value = True Then
With Sort
Set m = .Find(What:=mysearch, LookIn:=xlValues, \_
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext)
If m Is Nothing Then
MsgBox Cells(Sort, 1).Address
Cells(Sort, 1).Value = mysearch
Cells(1, rnCellD).Value = txb.Value
Else: Cells(1, rnCellD).Value = txb.Value
End If
End If
End If
End With
Next ctr
Next rnCellD
End Sub

Private Sub CommandButton1_Click()
Search_fillEnd Sub
När jag Tryckte F5 fick jag felmeddelandet: Kompileringsfel: objekt krävs och mysearch (i Set mysearch = ctr.Caption) blev markerad. När jag sedan klickar på ok blir helaraden: ” Private Sub Search_fill()” överstruken med gul-penna. Så jag kan inte ens prova ”addresserna”
Vad gör jag för FEL???
/Peter

Permalänk: https://www.webforum.nu/p/362616

## #7 — prls, 2001-09-08T19:34Z

men varför får jag fel mess på\<font size="1" face="Verdana, Arial, Helvetica, sans-serif"\>Kod:\<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600"\>Set mysearch = ctr.Caption

Permalänk: https://www.webforum.nu/p/362617

## #8 — prls, 2001-09-09T11:50Z

Dennis,

klart bättre - dessutom har jag redan själv kommit på det...

MEN: nu bråkar msgboxalternativet\<font size="1" face="Verdana, Arial, Helvetica, sans-serif"\>Kod:\<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600"\>For Each rnCellD In Datum
If Not IsEmpty(rnCellD) Then
Set Sort = Range(rnCellD.Offset(8, -3), rnCellD.Offset(42, -3))
For Each rnCellD In Sort

MsgBox rnCellD.Adress
Next rnCellD Jag får hella tiden error:For används redan**For Each rnCellD In Sort**
iof kommer formuläret upp, men jag kan ej fortsätta testandet

Permalänk: https://www.webforum.nu/p/362618

## #9 — prls, 2001-09-09T12:29Z

Nu har jag ändrat \<font size="1" face="Verdana, Arial, Helvetica, sans-serif"\>Kod:\<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600"\>
1) Private Sub Search_fill()
2) Dim wsBlad As Worksheet
3) Dim mysearch as String
4) Dim Datum As Range
5) Dim Sort As Range
6) Dim m As String
7) Dim rnCellD As Range
8) Dim ctr As MSForms.Control
9) Dim txb As MSForms.Control 
10) Set wsBlad = ThisWorkbook.Worksheets("vätskebalans")
11) Set Datum = wsBlad.Range("E7:K7")
12) Set Datum = wsBlad.Range("E7:K7")
13) For Each rnCellD In Datum
14) If Not IsEmpty(rnCellD) Then
15) Set Sort = Range(rnCellD.Offset(8, -3), rnCellD.Offset(42, -3))
16) For Each ctr In MultiPage1.Pages(MultiPage1.Value).Controls
17) If TypeOf ctr Is MSForms.CheckBox Then
18) If ctr.Value = true then
19) mysearch = ctr.Caption  
20) With Sortwith 
21) m =.Find(What:=mysearch, LookIn:=xlValues, \_
22) LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext) 
23) If m is nothing then 
24) Cells(sort,1).Value=mysearch 
25) Cells(1, rnCellD).Value=txb.Value
26) Else Cells(1, rnCellD).Value=txb.Value 
27) End If
28) End If
29) End if
30) End with
31) Next ctr
32) Next rnCellD
33) End Sub

och då får jag “varningen inkompatibla typer" med m markerad på rad 23

Permalänk: https://www.webforum.nu/p/362619

## #10 — Lasp, 2001-09-09T13:21Z

Hej Peter & Dennis
Det är sådana här inlägg som gör att det är värt att logga in då och då.
Bra exempel och öppen dialog.
Kunde man tänka sig att Peter la ut det färdiga resultatet som grädde på Moset??

Permalänk: https://www.webforum.nu/p/362620

## #11 — prls, 2001-09-09T13:25Z

Dennis,
jag är ledsen, det var inte alls meningen att förolämpa dig!! Är mycket tacksam för all övärderligt hjälp fr dig!!
Dessutom VET jag att du även finns på EXCEL-L . Min tanke var mera att se vartifrån jag får snabbare svar. Men som sagt om jag förolämpade dig på ngt sätt så ber jag om ursäkt!!

Permalänk: https://www.webforum.nu/p/362621

## #12 — prls, 2001-09-09T13:39Z

Dennis,
faktiskt bara snabbare. Dessutom var jag i "villfarelsen" att Du kanske snabbare ser inlägget där än här

Permalänk: https://www.webforum.nu/p/362622

---

Tråden på webben: https://www.webforum.nu/amne/kontorsprogram/23422-taxam-för-hjälp-med-koden
