Hallo Forum,
ich hoffe ihr hattet alle ein ruhiges und erholsames Weihnachtsfest und habt den Rutsch nach 2011 ohne eisbedingte Unfälle überstanden!!!
Ich habe hier wieder mal ein leidiges Problem mit der Umsetzung von VBA Code nach LS.
Konkret sieht man das Problem (hoffentlich) im Auszug.
Kurz zum Inhalt:
-Export LoNo DB nach Excel
- 2 Dokumentenarten. Je Art ein Arbeistblatt
- Die Werte der Spalte 6 im Blatt 2 werden zum named range "Bsig" gemacht
- Der named range füttert eine Validation für die Werte der Spalte 7 im Blatt 1
Ich muss einen named range benutzen da der Inhalt der Werte > 256 Zeichen ist (Beschränkung Excel).
Vielleicht hat ja jemand das add - Konstrukt schon mal hinbekommen?
Danke im voraus fürs reingucken und überlegen
Grüße Ricardo
Dim xlApp As Variant
Dim xlsheet As Variant
Dim xlbook As Variant
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
xlApp.Workbooks.Add
' Hier würde der Code zum befüllen der Blätter 1 und 2 stehen. lrows wird mitgeführt
' Auswahlliste für Combobox auf Einträge im Blatt 2 setzen
Set xlsheet = xlApp.Workbooks(1).Worksheets(2)
xlsheet.activate
' Select der Einträge
xlSheet.Range("F2:F262").Select
' Für den selektierten Bereich einen Namen mit Parametern vergeben
With xlapp.ActiveWorkbook.Names
.Add "Bsig", "=Signaturen!R2C6:R262C6"
End With
' Combobox / Validation auf Einträge Blatt 1 anwenden
Set xlsheet = xlApp.Workbooks(1).Worksheets(1)
xlsheet.activate
' Select der Einträge
trange="G2:G"+Trim(Str(lrows-1))
xlsheet.range(trange).select
' Setzen er Validation auf Select
With xlapp.Selection.Validation
.delete ' funktioniert
.Add 3 , 1 ,1, "=Bsig" ' bring OLE Automation Error. Problem ist die Übergabe des named range "Bsig" Konstanten siehe
http://lotusnotes-br.blogspot.com/2007_03_01_archive.html .IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With