Kopiere und füge die Materialliste in Excel ein

Hallo,

Ich wollte wissen, ob es möglich ist, einen Teil des Bauakts aus einem Plan zu kopieren/einzufügen, um ihn in eine Excel-Datei einzufügen? (ohne eine "Speichern als" des Bauakts durchzugehen und eine Excel-Datei zu erstellen)
Hast du einen Trick oder ist das nicht möglich?

Danke

Hallo,

Die Könige des Makros sagen dir, dass alles möglich ist (Makro, das im Excel-Exportformat speichert und dann die Tabelle kopiert, damit du sie in deinem Windows-Kopier-/Einfüge-Stack hast, und löscht dann die gerade erstellte Datei).

Ansonsten scheint es keine Direktkopier-Lösung zu geben (zumindest im Jahr 2020).

Dann gibt es die historische ' relou '-Lösung: Du entfernst deine SW-Nomenklatur, setzt eine alte Nomenklatur wieder ins Excel-Format, das durch Rechtsklick in Excel bearbeitet werden kann, → es möglich ist, sie zu kopieren

2 „Gefällt mir“

Hallo @Guillaume_REBOUSSIN

Eine Frage: Warum ohne das Speichern als? Es ist eine einfache Lösung, die zu dir passen würde.

Tatsächlich funktioniert Kopieren/Einfügen nicht, nur in die andere Richtung (Excel zu SW).

1 „Gefällt mir“

@froussel

Weil ich ein Dutzend Nomenklaturen extrahieren muss, um sie in derselben Excel-Datei zu verbinden... wäre es also viel praktischer, sie zu kopieren und einzufügen

Hallo,

In diesem Fall gibt es keine anderen nativen Lösungen außer der von @froussel angebotenen

1 „Gefällt mir“

Es scheint mir möglich, nach Makro (@Cyril_f ) zu extrahieren und mit demselben Makro zu kompilieren.
Dies entspricht einer Saved-Under + Dateikompilierung.

1 „Gefällt mir“

Hallo,

Unten ist ein rudimentäres Makro zu sehen, das den ausgewählten Bereich der Stückliste in die Windows-Zwischenablage kopiert (dank der KI...).
Mehrere Auswahlmöglichkeiten sind nicht möglich.

Es bleibt nur noch, das Ergebnis in Excel einzufügen.

[Bearbeitung – Modifiziertes Makro, unten verfügbar]

Hallo,
Ohne die KI habe ich bereits einen bestehenden Code, um die Daten aus einer Nomenklaturzeile zu extrahieren (ich glaube, ich habe ihn bereits für eine andere Anfrage ähnlicher Art in diesem Forum bereitgestellt).
Du kannst Excel auch direkt aus dem in SW gestarteten Makro bearbeiten und direkt kopieren/einfügen, ohne auf das Eingreifen des Benutzers zu warten.

1 „Gefällt mir“

Hallo,
Ich vertrete die gegenteilige Ansicht, aber wir können in Erwägung ziehen, alle Teile zusammenzustellen, auch ohne Positionierung, und eine Nomenklatur zu erstellen.

Sehr guter Vorschlag für @Cyril_f, ein einzelnes Makro von Solidworks einzufügen.
Vorgehen:

  • Wählen Sie in Excel die Zielzelle aus;
  • In Solidworks wählen Sie den Stücklistenbereich zum Kopieren/Einfügen aus;
  • Führe das Makro aus Solidworks aus.

Eine Bestätigung wird angefordert, wenn der Zielbereich in Excel nicht leer ist.

StructureEiffel.swp (67 KB)

1 „Gefällt mir“

Hier ist eines der Themen zum Abrufen von Daten aus Tabellen
BOMs lesen - Makro - myCAD Forum
Und noch eine, die nach Excel exportiert werden kann.
Exportiere die Materialliste mit einem VBA-Makro - Makro - myCAD Forum nach Excel

1 „Gefällt mir“

Hallo,

Bei all diesen Lösungen bleibt das Problem der Aktualisierung des Aktenplans im Falle einer Änderung in der Versammlung bestehen. Daher bleibt die Beratung wachsam

Hallo,

Zur Behandlung dieses Falls kann immer eine Behandlung hinzugefügt werden. :slight_smile:

Daten können zwischen Excel-Dateien verknüpft werden, um automatisch aktualisiert zu werden.
Excel verlangt, dass Sie Bindungsupdates aktivieren oder manuell aktualisieren.
Das Makro muss für jede Nomenklatur Dateien erstellen und dann in einer Kompilierungsdatei bei jeder Aktualisierung aktualisieren.
Ich denke, du musst einen Wert in der SolidWorks-Stückliste erstellen, der dann später gefiltert werden kann, entweder über das Makro oder über Excel, zum Beispiel ein Datum.
Ist das möglich? :thinking:

Hallo, ich habe dieses Makro vor einiger Zeit erstellt und benutze es immer noch.

Du wählst eine Tabelle oder eine Zelle aus, egal – du startest das Makro

und dann hast du mehr als nur Strg+V in einer Excel-Zelle, das war's.

CopyBomToExcel.swp (48 KB)

2 „Gefällt mir“

In diesem Fall erstellst du mit deinen 10 Sets einen temporären ASM. Du musst nicht einmal einen Plan erstellen, du kannst den kompletten BOM aus dem ASM extrahieren.

1 „Gefällt mir“

Hallo @Ludovic_MARCELIN

Ich denke, du hast sein Problem gelöst: Er muss nur das Makro einem Schlüssel oder einem persönlichen Symbol zuweisen, und das war's.

Nachdem du dein Makro erneut getestet hast, ist das Kopieren und Einfügen für Zellen mit Paragrpahe-Breaks schlecht: Beim Einfügen in Excel schneidet es die Daten in mehrere Zellen, anstatt eine Zelle mit Text mit Absatzumbrüchen zu erstellen.

Ein VBA-Profi sollte dieses Detail problemlos korrigieren können

Hier ist ein ' funktionaler ' Code, der das  Problem von Zeilenumbrüchen/Absatzumbrüchen löst (im Brute-Modus) nach der Bearbeitung des Codes durch M365 Copilot: Ich habe alle Zeichen, die wie Absatz-/Zeilenumbruch aussahen, durch ein Leerzeichen ersetzt.
→ Text importiert gut in eine einzelne Zelle

Andererseits gibt es keine Überweisung mehr :crying_cat_face:

CopyBomToExcel - Copilot edit.swp (48,5 KB)

Wenn es jemand schafft, es sauberer zu machen (und es schafft, Zeilenreferenzen in den Text der Excel-Zelle zu legen), muss er einfach neu posten.

Hinweis: Ich bin mir nicht sicher, ob das machbar ist, da das Makro durch eine Zeichenkette läuft, die durch Tabs (die die Zellen beim Kopieren in Excel verschieben) und CRLFs (die auf die nächste Zeile verweisen) getrennt sind.
Es wäre wahrscheinlich notwendig, das Makro komplett neu zu schreiben, um etwas wirklich Funktionales zu haben (dass das Makro eine temporäre Excel-Datei erstellt, die den Text in die Zellen einfügt und alle gefüllten Zellen in die Zwischenablage legt).

1 „Gefällt mir“

Genau, in diesem Fall brauchte ich es nicht, alle meine Werte stehen auf einer einzigen Zeile in meinen Stücklisten