Autor Thema: Umsetztung VBA-Excel nach LS - named range validation  (Gelesen 2431 mal)

Offline RKuehle

  • Junior Mitglied
  • **
  • Beiträge: 80
  • Geschlecht: Männlich
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

Offline RKuehle

  • Junior Mitglied
  • **
  • Beiträge: 80
  • Geschlecht: Männlich
Re: Umsetztung VBA-Excel nach LS - named range validation
« Antwort #1 am: 09.01.11 - 17:33:59 »
Da ich das Problem nicht wirklich lösen konnte habe ich es umschifft.

Den Code zum setzen der Validation habe ich in ein Makro gepackt und diesen in einer XLT hinterlegt.
Beim xlapp.workbooks.Add habe ich diese Vorlage dann benutzt.
Nach dem befüllen mit Daten wird dann als XLS gespeichert, wieder geöffnet, das Makro aufgerufen und wieder gespeichert.

Nicht schön, aber es funktioniert.

Grüße Ricardo

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz