[Word & Excel] Lege regel bepalen

Status
Niet open voor verdere reacties.

Jarcol

Gebruiker
Lid geworden
23 aug 2007
Berichten
18
Hallo allemaal,

Ik ben aan t zoeken geweest, maar ik kom er maar niet uit..

Hoe bepaal ik vanuit een macro in Word wat de laatst gevulde regel is van Kolom D in een sheet van Excel? Als die regel bepaald is moet ik de eerst volgende cel hebben..

Dit is wat ik al heb:
Dim wsh
Set xls = CreateObject("Excel.Application")
Set wkb = xls.Workbooks.Open(ActiveDocument.Path & "\" & cobCategorie.Value & "\" & cboBetreft.Value & "\paspoort.xls")
wsh = wkb.Worksheets("Paspoort").Activate

Dim LastCell As Range
With ActiveSheet
LastCell = Range("D65536").End(xlDown).Select
End With

echter krijg ik de melding "Fout 91 - Objectvariabele of blokvariabele With is niet ingesteld"

Kan iemand mij hier aub mee helpen?
 
Verander je code eens in:
Code:
...

 Dim LastCell As Range
    With ActiveSheet
        Range("D65536").End(xlDown).Select
        Set LastCell = ActiveCell
    End With

Je kunt namelijk niet .Select toekennen aan een range. Is niet hetzelfde objecttype o.i.d.
 
Om de laatst gevulde rij te weten te komen:

Code:
Dim LastRow As Integer
With ActiveSheet
LastRow = Range("D65536").End(xlUp).Row
End With

Vanuit de laatst mogelijke regel (65536) moet je omhoog (xlUp) i.p.v. naar beneden (xlDown)
 
Verander je code eens in:
Code:
...

 Dim LastCell As Range
    With ActiveSheet
        Range("D65536").End(xlDown).Select
        Set LastCell = ActiveCell
    End With

Je kunt namelijk niet .Select toekennen aan een range. Is niet hetzelfde objecttype o.i.d.

Super, dat werkt (geloof ik)

Maar als ik dan nu deze code doe:
Code:
conn.Open "Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=" & ActiveDocument.Path & "\" & cobCategorie.Value & "\" & cboBetreft.Value & "\paspoort.xls;ReadOnly=0;"
rs.Open "INSERT INTO [Paspoort$" & LastCell & ":" & LastCell & "] VALUES('" & txtTitel.Value & "')", conn

Krijg ik de melding dat een object is vereist in de volgende regel..
Code:
rs.Open "INSERT INTO [Paspoort$" & LastCell & ":" & LastCell & "] VALUES('" & txtTitel.Value & "')", conn
Ik denk dat ie valt over LastCell, wat ik merkwaardig vind, want als ik
Code:
rs.Open "INSERT INTO [Paspoort$D35:D35] VALUES('" & txtTitel.Value & "')", conn
zou doen dan, dan gaat t wel goed
 
Laatst bewerkt:
Ik heb het al opgelost!!

De code is uiteindelijke dit geworden:
Code:
Dim LastRow As Integer

With ActiveSheet
LastRow = Range("D65536").End(xlUp).Row
End With

xls.Workbooks.Close

Set conn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

'dataconnectie opzoeken
conn.Open "Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=" & ActiveDocument.Path & "\" & cobCategorie.Value & "\" & cboBetreft.Value & "\paspoort.xls;ReadOnly=0;"

conn.Execute "INSERT INTO [Paspoort$D" & LastRow & ":D" & LastRow & "] VALUES('" & txtTitel.Value & "')"

conn.Close: Set conn = Nothing
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan