| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
|
Autor
|
Thema: copy Funktion AutoCAD-Excel (688 mal gelesen)
|
Abele Mitglied

 Beiträge: 71 Registriert: 09.06.2004 SWX2005 / SP2
|
erstellt am: 02. Dez. 2004 08:31 <-- editieren / zitieren --> Unities abgeben:         
Hi 2 all!! Ich möchte von autocad aus in excel ein worksheet kopieren und hinten anstellen. Ich habe bereits herausgefunden, das dies mit der copy-Funktion geht. Kann mir jemand sagen, was bei den nach copy angeforderten Werten "Before" und "After" eingegeben werden muß. Oder kann mir jemand kurz einen entsprechenden Code veröffentlichen? Danke im vorraus Ralph Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fuchsi Mitglied Programmierer c#.net Datawarehouse
   
 Beiträge: 1201 Registriert: 14.10.2003 AutoCad Version 2012 deu/enu <P>Windows 7 64bit
|
erstellt am: 02. Dez. 2004 10:58 <-- editieren / zitieren --> Unities abgeben:          Nur für Abele
bei solchen Fragen hilft der Makrorecorder in excel alles was du fernsteuern willst einfach manuell in excel durchgehen un die schritte mit dem Macrorecorder aufzeichen. den aufgezeichneten Code dann anschauen und in Autocvad VBA umsetzten Bei deiner Fragestellung kommt z.B.: folgendes raus Sub Makro1() ' ' Makro1 Makro ' Makro am 02.12.2004 von CCM-Client: 12027 aufgezeichnet ' ' Sheets("Tabelle1").Select Sheets("Tabelle1").Copy After:=Sheets(3) End Sub was sagt uns das: du musst nach dem after die seite angeben (als Excelsheet) nach dem du das einfügen willst. da man das ja nicht immer weiss, kannst du das dann so lösen
Sheets("Tabelle1").Copy After:=Sheets(Sheets.Count) damit wird die Tabelle "Tabelle1" immer als letzte Seite kopiert
------------------ WWW.FFZELL.AT.TC Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Abele Mitglied

 Beiträge: 71 Registriert: 09.06.2004
|
erstellt am: 02. Dez. 2004 11:58 <-- editieren / zitieren --> Unities abgeben:         
Danke erstmal. Aber ich kann den Code im Autocad nicht 1:1 vom Excel übernehmen. Leider funktioniert meine Excel-Hilfe nicht, sonst könnte ich nachschauen. Wenn ich im Acad(verweis auf excel-8-library) nach eingeben des copy-Befehls die Leertaste drücke, wird wie üblich angezeigt, was für Argumente benötigt werden. Die benötigten Argumente sind: [(After),(Before)]. Nun weiß ich eben nicht was er für Eingaben erwartet, da die Eingabe von Dir ja nicht dieser Aufforderung entspricht. Hilfe ?! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Moderator Architekt
   
 Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 02. Dez. 2004 13:32 <-- editieren / zitieren --> Unities abgeben:          Nur für Abele
|
JoeG Mitglied Systemadmin NX und Autocad
 
 Beiträge: 122 Registriert: 18.10.2002 Autocad 2000 und Win2000
|
erstellt am: 02. Dez. 2004 13:41 <-- editieren / zitieren --> Unities abgeben:          Nur für Abele
Hallo versuch es mal so Public Sub Excel_zugreifen() Dim Excel As Excel.Application Dim ExcelSheet As Object Dim ExcelWorkbook As Object ' Excel starten Set Excel = New Excel.Application Excel.Visible = True ' Vorlage öffnen Workbooks.Open FileName:="C:\Test.xls", ReadOnly:=True Sheets("Tabelle1").Copy After:=Sheets(Sheets.Count) End Sub den Excel-Verweis nicht vergessen!!! Joe Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
fuchsi Mitglied Programmierer c#.net Datawarehouse
   
 Beiträge: 1201 Registriert: 14.10.2003 AutoCad Version 2012 deu/enu <P>Windows 7 64bit
|
erstellt am: 02. Dez. 2004 13:59 <-- editieren / zitieren --> Unities abgeben:          Nur für Abele
nun ja das liegt daran, dass du autocad vba bist und nicht in excel vba aber ein bisschen Kreativität sollte doch vorhanden sein z.B:
Dim excel As New excel.Application excel.Visible = True excel.Workbooks.Add Dim sh As Sheets Set sh = excel.ActiveWorkbook.Sheets Call sh(1).Copy(, sh(sh.Count)) damit wird die erste Seite kopiert und nach derletzten seite sh(sh.count) kopiert before wird weggelassen
------------------ WWW.FFZELL.AT.TC Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |