Fragensteller
VSTO Excel Vba Zeile unterhalb einfügen

Frage
-
Hallo,
wie muss denn die Syntax in Visual Studio Excel VBA aussehen, wenn man unterhalb einer Zeile eine Zeile einfügen möchte?
In Excel VBA sieht es ja z.B. so aus:
.Rows(i + 2).Insert Shift:=xlDown
Allerdings wird "Shift:=xlDown" nicht akzeptiert.
Wie also kann ich unterhalb eine Zeile einfügen?
Danke für die Hilfe
Gruß Oisse
Alle Antworten
-
Hi,
es gibt kein Visual Studio Excel VBA. Entweder VBA, dann in Excel selbst. Oder VB.NET, dann in Visual Studio, in deinem Fall wohl Office/Excel Automatisierung.
Zu letzterem: Office Automatisierung sollte man immer vermeiden. Es gibt heute eigentlich so gut wie keinen Zwang mehr, zu diesem Mittel zu greifen. Neben der Vielzahl an möglichen Problemen (Zombieprozesse, instabile Office Anwendungen, Speicherprobleme, ...) entfällt bei den Alternativen auch der Zwang, auf jedem Ziel PC die exakt passende Office Anwendung inkl. der richtigen Version installieren zu müssen.
Ich würde dir daher bspw. Syncfusion XlsIO ans Herz legen. Diese (und alle anderen Synfusion) Komponent(en) gibt es im Rahmen einer Community Lizenz für viele Entwickler und kleinere Unternehmen kostenlos (auch für kommerzielle Zwecke).
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport -
Hi und Danke für die Antwort aber,
jetzt kenn ich mich gar nicht mehr aus. Das sind für mich alles böhmische Dörfer. Ich wollte nur eine bereits funktionierende Excel Mappe mit Makros neu über Visual Studio erzeugen, sodass die Makros wegfallen können. Ist das schlecht? Ich meine gelesen zu haben, dass es wegen der Makrosicherheit ein guter Weg ist. Allerdings kann man halt den Code nicht eins zu eins übernehmen. Deshalb frage ich ja auch immer wieder, wo man denn die Syntax herbekommt, um z.B. wegen obiger Frage Antworten zu bekommen.
Gruß Oisse
-
Hi,
öhm. Was genau soll da denn wegfallen? Makros werden ja in der Regel zur Laufzeit bei irgendwelchen Aktionen innerhalb von Excel ausgeführt. Das kannst Du nicht mal einfach so mit einer Anwendung von außen ersetzen.
Beschreib doch mal genau, was Du da alles neu programmieren willst.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport -
Hallo,
eigentlich wollte ich alles neu programmieren. Die Codes hinter den Tabellenblättern also die Ereignisprozeduren, dann die einzelnen Module, Formulare und Klassenmodule.
Es handelt sich also schon um eine sehr umfangreiche Mappe mit seeehr viel Code. Diese Mappe wird von vielen Anwendern von unterschiedlichen Standorten über SharePoint genutzt. Vielleicht fällt das eine oder andere Formular weg, das nur Buttons beinhaltet, weil ich dazu gerne Ribbons programmiert hätte.
Aber Du schreibst, dass man das "nicht einfach so mit einer Anwendung von außen ersetzen" kann. Wo liegt hier mein Denkfehler? Ich dachte deshalb gibt es solche Entwicklertools wie Visual Studio.
Wenn die Entwicklung mit Visual Studio eben sicherer ist in der Anwendung, weil man dann bei Excel die Makrosicherheit auf "Hoch" einstellen kann, würde ich diesen Weg bevorzugen. Oder ist meine Denkweise falsch?
Ich lass mich ja gern korrigieren. :)
Ich hoffe, ich konnte Deine Frage beantworten.
Gruß Oisse