Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Objektfält i VBA?

Postades av 2004-09-08 11:12:19 - Jan-Christer Berggren, i forum microsoft office, Tråden har 4 Kommentarer och lästs av 1209 personer

Hålla alla kunniga på VBA!

Någon som vet hur/om man kan deklarera och använda objektfält i VBA? Exempelvis om jag har ett stort antal kryssrutor på en Excel-flik som jag vill kunna anropa med index istället för som nu chkCheckBox1....chkCheckBox50 osv.
Har inte hittat någon syntax för detta.

Någon duktig som har det?

Hälsningar
/JCB


Svara

Sv: Objektfält i VBA?

Postades av 2004-09-09 11:35:45 - Åsa Holmgren

Är det kryssrutor infogade med verktygsfältet "Formulär" eller verktygsfältet "Kontroller".

Kryssrutor infogade med "Formulär" ingår i klassen "Checkboxes" och kan lätt identifieras med index. Kryssrutor infogade med "Kontroller" ingår i klassen "OLEObjects" och ligger alltså blandade med alla andra eventuella objekt på excelbladet.


Svara

Sv: Objektfält i VBA?

Postades av 2004-09-09 13:30:47 - Jan-Christer Berggren

Tack Åsa!

Om jag fattat det rätt (vilket i o f s inte är säkert) så utgör exv alla garfiska element (kryssrutor, kombo-boxar etc.) instanser av klassen OLEObjects. Korrekt? Då är väl exv följande dim-syntax korrekt till att börja med?

Dim chkb(5) As OLEObjects

Om den är korrekt, hur skrivs då exv tilldelningen:

Set chkb(1) = ....

Får bara FEL där!! Inkompatibla typer och Gud vet vad. Kan du hjälpa mig ytterligare please?


Svara

Sv: Objektfält i VBA?

Postades av 2004-09-09 17:22:11 - Åsa Holmgren

Om du har infogat dem med verktygsfältet "Kontroller" så är de instanser av OLEObjects, ja. Annars av CheckBoxes, OptionButtons osv.

Den här koden förutsätter att kryssrutorna redan finns på arbetsbladet.

<code>
Option Explicit

Private moBox() As OLEObject

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim nIdx As Integer

For nIdx = 0 To UBound(moBox)
Set moBox(nIdx) = Nothing
Next nIdx
End Sub

Private Sub Workbook_Open()
Dim oObj As OLEObject
Dim nIdx As Integer

For Each oObj In Sheets("Blad1").OLEObjects
If TypeName(oObj.Object) = "CheckBox" Then
ReDim Preserve moBox(nIdx)
Set moBox(nIdx) = oObj
nIdx = nIdx + 1
End If
Next oObj
End Sub

Public Sub Test
MsgBox moBox(1).Object.Caption
End Sub
</code>


Svara

Sv: Objektfält i VBA?

Postades av 2004-09-10 11:45:36 - Jan-Christer Berggren

Ahhh.....du är ju för go Åsa! Koden i min tunga applikation kommer att minska radikalt! Tack, tack!


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 768
27 960
271 761
683
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies