[Access + VBA] Worksheet object vullen met data met VBA code

Pagina: 1
Acties:
  • 117 views sinds 30-01-2008
  • Reageer

  • TXC
  • Registratie: Oktober 2002
  • Laatst online: 24-12-2025
als je het niet eens bent met een slotje kun je de mod in kwestie gewoon mailen

Mijn vraag is: hoe kun je via VBA code een Excel worksheet Object dat in Microsoft Access op een formulier is ingevoegd vullen met data. Dat kan handmatig als het formulier geopend is, maar ik wil het dus met VBA gaan doen.

De standaard chart (grafieken) engine van Access is namelijk nogal gaar heb ik ontdekt, dus wil ik voor een grafiek in Access een Microsoft Excel Chart Object (OLE) invoegen. Zo'n object heeft een eigen Excel sheet die ik dan wil vullen met data voor de grafiek.

Zo'n grafiek heeft, net als een Excel worksheet Object, geen eigenschap "fields" of "sheets" of iets dergelijks. Daarom heb ik geen idee of het eigenlijk wel mogelijk is de Excel-sheet van dit Object te vullen met VBA code.

Any help would be appreciated :Y)

[ Voor 14% gewijzigd door Lustucru op 03-09-2005 20:26 ]


  • Telco
  • Registratie: Juni 2001
  • Laatst online: 29-08-2024

Telco

Biertje?

Ik ken Access verder niet, maar veronderstel dat het Excel object selecteerbaar is in VBA voor je (ik ga er van uit dat je VBA in Access zit, en dat je de data het Excel sheet wilt 'induwen' ). Ik denk dat je het het makkelijkst doet door een range te definieren, waarin je de data vult. Dus zoiets (voor twee kolommen van 10 rijen:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function FillExcelObject() as boolean

Dim r as Range
Dim x as integer, y as integer

set r = workbooks("YourExcel").worksheets("Sht").range( "B1:C10" )

for x = 1 to 2
   for y = 1 to 10
      r.cells(y, x).value = YrAccessVal
   next y
next x

FillExcelObject = True

end function


De juiste manier om excel objecten aan te spreken (dus de syntax van de 'Set' instructie) kun je het beste even nazien in de VBA referentie van de help.

[ Voor 23% gewijzigd door Telco op 03-09-2005 22:36 ]

Vandaag geen signature


  • TXC
  • Registratie: Oktober 2002
  • Laatst online: 24-12-2025
Oké ik ben erachter hoe dit moet. Hieronder een VBA voorbeeldje voor degene die dit nog eens tegen mocht komen.

Visual Basic:
1
2
3
4
5
Dim CodeExcelChartObject As Object 'Represents the object on this form

Set CodeExcelChartObject = Me.ExcelChart

CodeExcelChartObject.Worksheets("Sheet1").cells(y, x).Value = ""

[ Voor 86% gewijzigd door TXC op 07-09-2005 15:53 ]