![]() |
Excel - DropDown-Menü in einer Zelle erzeugen
Hallo,
Wie kann ich über Delphi ein Dropdownmenü in Excel in einer Zelle erzeugen ? cells[x,y].dropdown ??? Und wie kann ich dieses Menü dann mit Inhalt füllen ? mfg Nimmersatt |
AW: Excel - DropDown-Menü in einer Zelle erzeugen
Genauso wie aus VBA, da die (COM-)Automatisierung die selbe Schnittstelle verwendet.
|
AW: Excel - DropDown-Menü in einer Zelle erzeugen
Hier die vorgehensweise mit VBA:
Code:
Dim MyList(5) As String
MyList(0) = 1 MyList(1) = 2 MyList(2) = 3 MyList(3) = 4 MyList(4) = 5 MyList(5) = 6 With Range("A1").Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _ Operator:=xlBetween, Formula1:=Join(MyList, ",") End With ![]() Das ganze musst du dann natürlich über die Automatisierungsschnittstelle realisieren aber das sollte ja möglich sein, oder? Grüße Headbucket |
AW: Excel - DropDown-Menü in einer Zelle erzeugen
Hallo Headbucket,
Zitat:
Könntest du das in Delphi übersetzen ? Eine andere Variante ![]() Erklärung: Der Input für das DropDown ist im "Tabelle1" R2C1 bis R4C1 Der Vergebene Namen heißt "EOL" Code: Zitat:
Da wäre auch eine Übersetzung in Delphi hilfreich. Zur Info, ich arbeite mit Delphi 4 und Excel 2007. mfg Nimmersatt |
AW: Excel - DropDown-Menü in einer Zelle erzeugen
Wie gesagt, verwendet COM/OLE die selbe Schnittstelle
Delphi-Quellcode:
Uses ...,ComObj, ActiveX, ...
... var Excel, WorkBook, WorkSheet, Range: OleVariant; begin try Excel := GetActiveOleObject('Excel.Application'); except Excel := CreateOleObject('Excel.Application'); end; WorkBook := Excel.ActiveWorkBook; WorkSheet := WorkBook.ActiveSheet; Range := WorkSheet.Range['A1:A4']; Range.Validation.Delete; Range.Validation.Add(3, 1, 1, 'Join(MyList, ",")', null); ... end; |
AW: Excel - DropDown-Menü in einer Zelle erzeugen
Hallo Mkinzler,
Danke !:thumb: Aber es gibt da noch ein paar Probleme. In der Excelzelle steht ein Begriff, per Dropdown soll ein mehrzeiliger Text erscheinen, der diesen Begriff erläutert. Es soll keine Auswahl stattfinden ! ich stehe vor 3 Problemen 1) es soll nur der Begriff im Dropdownmenü aktiv bleiben 2) wie bringe ich den mehrzeiligen Text unter ? 3) das DropdwonMenü soll sichtbar sein, wenn eine andere Excelzelle aktiv ist, damit meine ich den Button mit dem Dreieck mfg Nimmersatt |
AW: Excel - DropDown-Menü in einer Zelle erzeugen
Kann es sein, dass du die Kommentar-Funktion meinst?
Das kleine rote Recheck oben rechts in einer Excel-Zelle, wo so eine Art Sprechblase aufklappt, wenn man darauf klickt? |
AW: Excel - DropDown-Menü in einer Zelle erzeugen
Hallo Jumpy,
Ja, das könnte die Kommentarfunktion sein, wo ein nach unten gerichtetes Dreieck enthalten ist. Mein Problem ist, ich kann kein VBA-Code in Delphi übersetzen, sonst würde ich hier ja nicht nachfragen. mfg Nimmersatt |
AW: Excel - DropDown-Menü in einer Zelle erzeugen
Du könntest es uns auch leichter machen, indem du den VBA-Code, den du haben magst, hier postest und wir helfen dir diesen in Delphi umzusetzen.
VBA-Codes kannst du ganz einfach durch Makro-Aufzeichnungen erhalten. |
AW: Excel - DropDown-Menü in einer Zelle erzeugen
Das Problem mit dem mehrzeiligen Text ist jetzt gelöst
Zitat:
die anderen 2 Probleme sind - es soll nur der Begriff im Dropdownmenü aktiv bleiben - das DropdwonMenü soll sichtbar sein, wenn eine andere Excelzelle aktiv ist, damit meine ich den Button mit dem Dreieck |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:41 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz