Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Daten auf verschiebene Tabellen in Excel verteilen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Daten auf verschiebene Tabellen in Excel verteilen (1949 mal gelesen)
Berges
Mitglied
Techniker


Sehen Sie sich das Profil von Berges an!   Senden Sie eine Private Message an Berges  Schreiben Sie einen Gästebucheintrag für Berges

Beiträge: 119
Registriert: 16.08.2001

Catia V5 R24/ Sp1 unter WIN 7

erstellt am: 02. Apr. 2013 13:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Zusammen

Habe ein VB Script das mir Werte aus Catia in Excel schreibt.
Alles in eine Tabelle funktioniert.
Ich möchte aber die Werte auf verschiedene Tabellen in der geöffneten Excel Datei verteilen.

Wie spreche ich die Tabellen (Tabell1 , Tabell2 , Tabell3 u.s.w.) an?

Hier der Auszug aus meinen Script

FileName = "C:\Temp\ABMESSUNG.xlsx"

Dim EXCEL As Object
Set EXCEL = CreateObject("Excel.Application")
EXCEL.Workbooks.Open FileName
EXCEL.Application.Visible = True
EXCEL.Parent.Windows(1).Visible = True

'_____________Aufteilen auf Tabelle ________________________

Dim Tabelle As String

If PosNr >= "000-009,010-099,100" Then
Tabelle = "Tabelle1"
End If

If PosNr >= "200" Then
Tabelle = "Tabelle2"
End If

If PosNr >= "300" Then
Tabelle = "Tabelle3"
End If

If PosNr >= "400" Then
Tabelle = "Tabelle4"
End If

If PosNr >= "500" Then
Tabelle = "Tabelle5"
End If

'______________Schreiben nach EXCEL___________________

EXCEL.Application.Cells((N), 3) = EXCELAbmasse
EXCEL.Application.Cells((N), 1) = PosNr
EXCEL.Application.Cells((N), 2) = Bezeichnung


Danke schon mal für die Hilfe.

Gruß

Ralf

------------------
KOBUE

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 02. Apr. 2013 15:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Berges 10 Unities + Antwort hilfreich

Servus
zB:
Code:
Set oWorkbook = EXCEL.Workbooks.Open FileName
Set Tabelle1 = oWorkbook.Worksheets.item(1)
Set Tabelle2 = oWorkbook.Worksheets.item("Mappe2")

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Berges
Mitglied
Techniker


Sehen Sie sich das Profil von Berges an!   Senden Sie eine Private Message an Berges  Schreiben Sie einen Gästebucheintrag für Berges

Beiträge: 119
Registriert: 16.08.2001

Catia V5 R24/ Sp1 unter WIN 7

erstellt am: 02. Apr. 2013 16:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Bernd

Danke für die Antwort

Aber ich bekomme das nicht hin.
Ich bin leider nicht so fit im schreiben von Programmen.

Kannst du mir das bitte genauer erklären.

Da ich oben schon „EXCEL.Workbooks.Open FileName“ stehen habe rebelliert VB wenn ich dort ein „Set oWorkbook =“  vorsetze.


Gruß

Ralf

------------------
KOBUE

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 02. Apr. 2013 16:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Berges 10 Unities + Antwort hilfreich

Servus
Setze mal den Filename in Klammern:
Code:
dim oWorkbook as Object ' oder Workbook
Set oWorkbook = EXCEL.Workbooks.Open(FileName)
Über die Item-Methode der Worksheets-Collection (deinem zuvor geöffneten Workbook) kannst du auf die einzelnen Mappen zugreifen
(bin mir nicht ganz sicher, ob diese auch über den Namen geht, schau einfach mal in der Excel Hilfe).

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Berges
Mitglied
Techniker


Sehen Sie sich das Profil von Berges an!   Senden Sie eine Private Message an Berges  Schreiben Sie einen Gästebucheintrag für Berges

Beiträge: 119
Registriert: 16.08.2001

Catia V5 R24/ Sp1 unter WIN 7

erstellt am: 03. Apr. 2013 11:08    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Zusammen

Habe mein Programm geändert mit Hilfe vom Jens Hansen's Kochbuch.
Die Zelle Aktivier das Programm aber beim schreiben in die Zelle mit ActiveCell.Value = "Daten" brich das Programm ab.

Ich habe mal das Programm aus dem Kochbuch von Jens Hansen (Punktkoordinaten aus V5 nach Excel) laufen lassen.

Leider trägt das Programm auch keine Daten in die Tabelle ein.

Eine Fehlermeldung kommt nicht das Programm läuft durch.

Kann es sein das es daran liegt das ich mit EXCEL 2007 arbeite?

Gruß

Ralf

------------------
KOBUE

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Ehrenmitglied V.I.P. h.c.
Arbeiter ツ



Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2897
Registriert: 06.07.2001

NX 10
Win 7

erstellt am: 03. Apr. 2013 12:08    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Berges 10 Unities + Antwort hilfreich

probiere mal dies

Code:
Sub main()
filename = "C:\temp\Abmessung.xlsx"

Dim EXCEL As Object
Set EXCEL = CreateObject("Excel.Application")
EXCEL.Workbooks.Open filename
EXCEL.Application.Visible = True
EXCEL.Parent.Windows(1).Visible = True

'_____________Aufteilen auf Tabelle ________________________

Dim Tabelle As String

If PosNr >= "000-009,010-099,100" Then
Tabelle = "Tabelle1"
End If

If PosNr >= "200" Then
Tabelle = "Tabelle2"
End If

If PosNr >= "300" Then
Tabelle = "Tabelle3"
End If

If PosNr >= "400" Then
Tabelle = "Tabelle4"
End If

If PosNr >= "500" Then
Tabelle = "Tabelle5"
End If

'______________Schreiben nach EXCEL___________________
For X = 1 To 5 'dummy schleife

Tabelle = "Tabelle" & X ' erzeugen Tabellennamen
n = 1 ' dummy

EXCEL.Worksheets.Item(Tabelle).Cells(n, 3).Value = "EXCELAbmasse"
EXCEL.Worksheets.Item(Tabelle).Cells(n, 1).Value = "PosNr"
EXCEL.Worksheets.Item(Tabelle).Cells(n, 2).Value = "Bezeichnung"

Next '

End Sub


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Berges
Mitglied
Techniker


Sehen Sie sich das Profil von Berges an!   Senden Sie eine Private Message an Berges  Schreiben Sie einen Gästebucheintrag für Berges

Beiträge: 119
Registriert: 16.08.2001

Catia V5 R24/ Sp1 unter WIN 7

erstellt am: 03. Apr. 2013 13:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Thomas

Danke das ist es gewesen.

Deinen Code noch etwas geändert und es läuft.

Hier die Änderungen.

If PosNr >= "000-009,010-099,100-199" Then
Tabelle = 1
End If


If PosNr >= "199,201-299" Then
Tabelle = 2
End If

If PosNr >= "299,301-399" Then
Tabelle = 3
End If

If PosNr >= "399,401-499" Then
Tabelle = 4
End If

If PosNr >= "499,500-599" Then
Tabelle = 5
End If


EXCEL.Worksheets.Item(Tabelle).Cells(N, 3).Value = EXCELAbmasse
EXCEL.Worksheets.Item(Tabelle).Cells(N, 1).Value = PosNr
EXCEL.Worksheets.Item(Tabelle).Cells(N, 2).Value = Bezeichnung


Das Problem mit dem Programm aus dem Kochbuch ist auch erledigt.

Danke noch mal an alle!

Gruß

Ralf

------------------
KOBUE

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Berges
Mitglied
Techniker


Sehen Sie sich das Profil von Berges an!   Senden Sie eine Private Message an Berges  Schreiben Sie einen Gästebucheintrag für Berges

Beiträge: 119
Registriert: 16.08.2001

Catia V5 R24/ Sp1 unter WIN 7

erstellt am: 04. Apr. 2013 11:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Zusammen


Anbei für die Allgemeinheit einige Zusätze die ich noch herausgefunden habe.
Vielleicht hilft es ja einigen .

'_______________Texteigenschaften einer Zelle ändern____________________________________________________

EXCEL.WorkSheets.Item(1).Cells(1, 2).Font.Bold = True          'Schrift Fett
EXCEL.WorkSheets.Item(1).Cells(1, 2).Font.Size = 15         'Schrifthöhe
EXCEL.WorkSheets.Item(1).Cells(1, 2).Font.Name = "Arial"        'Schriftfont


'__________________-Text Ausrichtung in der Zelle ändern________________________________________________

EXCEL.WorkSheets.Item(1).Cells(1, 2).HorizontalAlignment = 3    'Ausrichtung Text in Zelle Horizontal
EXCEL.WorkSheets.Item(1).Cells(1, 2).VerticalAlignment = 2      'Ausrichtung Text in Zelle Vertikal

    Alignments(0) = "0 - Top Left"
    Alignments(1) = "1 - Top Right"
    Alignments(2) = "2 - Center"
    Alignments(3) = "3 - Bottom Left"
    Alignments(4) = "4 - Bottom Right"

'__________________________Arbeitsmappe Kopieren oder neu erstellen und Name ändern ___________________
 
EXCEL.WorkSheets.Copy After:=EXCEL.WorkSheets.Item(1)          'Kopie einer Arbeismappe Erstellen
EXCEL.WorkSheets.Add After:=EXCEL.WorkSheets.Item(1) 'Neues Arbeismappe erstellen
EXCEL.WorkSheets.Item(2).Name = "Blatt02 Pos.100-199"          'Name der Arbeismappe ändern

'__________________________Mehrere Zellen ändern_______________________________________________________

Mit Range Können mehrere Zellen verändert werden

Zum Beispiel Zelle A2-A100 Font in Arial ändern Schrifthöhe=10

EXCEL.WorkSheets.Item(1).Range("A2:A100").Font.Name = "Arial"
EXCEL.WorkSheets.Item(1).Range("A2:A100").Font.Size = 10

Bis dann

Ralf

------------------
KOBUE

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz