webForumDet fria alternativet

mitt projekt i XL - lång inlägg(sorry)

Kontorsprogram

5 svar · 257 visningar · startad av prls

Medlem sedan jan. 2000352 inlägg
Frågan#1

Den minnesgoda kommer säkert ihåg mitt projekt från förra året.

Nu håller jag på med lite förbättringar. Har en arbetsbok med ca 10 sidor. Har en "multipage-formulär" med 9 flikar.

Har snickrat ihop följande kod - men detta vill ej funka

Option Explicit

Private Sub Fylli()

  Dim ctr As MSForms.Control
  Dim wsBlad As Worksheet
  Dim rnCellD As Range, rnDatum As Range, rnVtskesort As Range, rnCellV As Range, rnHitta As Range, rnKonsum As Range, rnCellK As Range
  
  Set wsBlad = ThisWorkbook.Worksheets("vätskebalans")
  Set rnDatum = wsBlad.Range("E7:K7")
  
  
  

  For Each ctr In MultiPage1.Pages(MultiPage1.Value).Controls
    If TypeOf ctr Is MSForms.CheckBox Then
      If ctr.Value Then
        For Each rnCellD In rnDatum
If NotIsEmpty(rnCellD) Then
Set rnVtskesort = Range(rnCellD.Offset(8, -3), rnCellD.Offset(24, -3))
Set rnHitta = rnVtskesort.Find(what:=ctrl.Caption)
If rnHitta Is Nothing Then
For Each rnCellV In rnVtskesort
If IsEmpty(rnCellV) Then
rnCellV.Value = chk.Caption
Set rnKonsum = Range(rnCellD.Offset(8, 0), rnCellD.Offset(24, 0))
For Each rnCellK In rnKonsum
If IsEmpty(rnCellK) Then
rnCellK.Value = TextBox.ControlSource
      End If
    End If
    End If
    End If
    End If
    End If
  Next ctr
  End If
  Unload Me
End Sub
Medlem sedan jan. 2000352 inlägg
#2

Jag klickar på kör i designläget, men det händer nada med bladet "vätskebalans"

Medlem sedan jan. 2000352 inlägg
#3

Hejhopp,
iof vet jag att det är helg, och att jag borde ha tålamod, MEN nu har det gått 24 timmar och..

Kan ngn av Er hjälpa mig med ovanstående problem???

Medlem sedan feb. 200115 571 inlägg
#4

Så fort någon har en lösning på ditt problem och ser det så får du svar. Det går inte fortare för att du tjatar, snarare tvärtom.

Medlem sedan feb. 20013 023 inlägg
#5

Om du vill att vi skall hjälpa dig underlättar det om du beskriver vad som skall göras av din kod och varför. Kommentera koden utförligt, så är det lättare att engarera sig

Medlem sedan jan. 2000352 inlägg
#6

Oki..
Jag har en formulär (UserForm) med kryssrutor och textrutor. När jag kryssar i en ruta så vill jag att XL i cellområdet B15:B36 skall söka efter en textsträng (=kryssrutan`s Caption). Om strängen hittas skall förflyttas horizontellt till nästa tomma cellen i E7:K7, flyttas vertikal ner och fylla i det angivna värdet . Om textsträngen inte hittas skall strängen skrivas in i nästa tomma cellen i området B15:3, och förflyttas horizontellt till nästa tomma cellen i E7:K7, flyttas vertikal ner och fylla i det angivna värdet .
Koden ser ut som följer:

Dim ctr As MSForms.Control
  Dim wsBlad As Worksheet
  Dim rnCellD As Range, rnDatum As Range, rnVtskesort As Range, rnCellV As Range, rnHitta As Range, rnKonsum As Range, rnCellK As Range
  
  Set wsBlad = ThisWorkbook.Worksheets("vätskebalans")
  Set rnDatum = wsBlad.Range("E7:K7")
   For Each ctr In MultiPage1.Pages(MultiPage1.Value).Controls
    If TypeOf ctr Is MSForms.CheckBox Then
      If ctr.Value Then [B][3][red]' om kryssrutan är i fylld[/red][/3][/B]
        For Each rnCellD In rnDatum
If NotIsEmpty(rnCellD) Then  [B][3][red]' hitta den första tomma cellen[/red][/3][/B]

Set rnVtskesort = Range(rnCellD.Offset(8, -3), rnCellD.Offset(24, -3)) [B][3][red]' förflytta 3 steg åt vänster och 8 - 24 steg nedåt [/red][/3][/B]

Set rnHitta = rnVtskesort.Find(what:=ctrl.Caption)
If rnHitta Is Nothing Then
For Each rnCellV In rnVtskesort
If IsEmpty(rnCellV) Then
rnCellV.Value = chk.Caption
Set rnKonsum = Range(rnCellD.Offset(8, 0), rnCellD.Offset(24, 0))
For Each rnCellK In rnKonsum
If IsEmpty(rnCellK) Then
rnCellK.Value = TextBox.ControlSource
      End If
    End If
    End If
    End If
    End If
    End If
  Next ctr
  End If
260 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)