Seite 1 von 1

Excel in Calc ändern?

Verfasst: Fr, 16.10.2009 10:51
von gero018
Hallo liebe Leute.

Bin absoluter Neuling mit absolut Null Ahnung und bitte um Hilfe.

Ich arbeite in einem grossen Möbelhaus und leite dort die Küchenabteilung. Um die dort ausgestellten Musterküchen erfassen zu können habe ich von einem Kollegen eine Exceltabelle erhalten in der ich sämtliche Teile die sich in den Musterküchen befinden eintragen kann. Mit Strg und Buchstabe kann ich nun diese alle einzel erfassten Artikel aus jedem Kojenblatt in übergeordnete Listen (zB. Inventurliste ) einlesen lassen.

Nun zu meinem Problem. Bei mir zu Hause habe ich sowohl Excel (Office XP 2002) als auch OOoCalc so das ich zu Hause über Excel die Makros aktivieren kann. Im Geschäft habe ich OOoCalc. Nun wollte ich diese Excel Tabellen mit OOoCalc bei mir zu Hause öffnen damit ich sie dann später auch im Geschäft nutzen kann. Leider klappt das hinten und vorne nicht.

Gibt es jemanden unter Euch der mir ( Neuling ) das Ganze dahingehend ändern kann das ich diese Tabellen auch mit OO0Calc öffnen und bearbeiten kann?

Unabhängig davon ob man mir helfen kann sage ich schon mal allen die sich meinem Problem stellen wollen ein ganz ganz herzliches Dankeschön

gero018

Re: Excel in Calc ändern?

Verfasst: Fr, 16.10.2009 12:59
von Heinz Bär
Hallo gero018

Ich nehme an, dass du zu hause auch mit Windows arbeitest.

Ich selbst arbeite mit Ubuntu, und dort kann ich Excel-Dateien mit Makros in Calc öffnen, bearbeiten und wieder zurückschreiben.

Wird die gleiche Excel-Datei aber mit Calc 3 unter Windows XP geöffnet, so läuft es nicht. Der Grund dafür ist, dass die ganzen Makros beim Laden mit "REM" auskommentiert werden. Dadurch haben sie gar keine Befehlszeilen mehr. Warum das unter Windows gemacht wird, weiss ich nicht.

Ich hoffe, dass ich dir damit wenigstens das Verhalten der Makros darstellen konnte, damit du nicht weiter suchen musst.

Gruss
Heinz

Re: Excel in Calc ändern?

Verfasst: Fr, 16.10.2009 13:17
von gero018
Hallo Heinz.


Es ist genau so wie Du sagst. habe zu Hause Windows.

Gibt es denn überhaut keine Chance diese Excel Tabelle dahingehend zu verändern das ich sie auch mit Calc öffnen kann.
Würde es Dir was bringen wenn ich sie Dir mal als Anang sende um zu sehen was machbar ist oder nicht. Da sind mehrere 1000 Datensätze drin und mal abgesehen davon das ich eh nicht wüsste wie die unter Calc neu geschrieben werden müssten wäre das ja ein gigantischer Aufwand.

Aber bevor ich es vergesse, erst einmal herzlichen Dank dafür das du geantwortet hast.

LG

Dieter

Re: Excel in Calc ändern?

Verfasst: Fr, 16.10.2009 15:16
von mumpel
Hallo!

Sobald Du Makros sowohl in Calc als auch in Excel nutzen möchtest bist Du aufgeschmissen. OOo 3.1. kann zwar VBA-Code ausführen, aber nur wenn am Anfang eines jeden Moduls die Zeile Option VBASupport 1 steht. Das kannst Du aber nicht machen, da dann Excel diese Zeile anmeckern würde. Was genau machen denn die Makros? Es könnte etwas nützen, wenn Du die Makros in ein Add-In (Excel) und in eine Extension oder ein öffentliches Modul (Calc) auslagerst. Dann könnten die beiden Tabellenkalkulationen das richtige Makro nutzen. Hänge mal eine Beispieldatei mit den Makros an, dann können wir schauen was sich machen lässt.

Gruß, René

Re: Excel in Calc ändern?

Verfasst: Fr, 16.10.2009 15:31
von mumpel
Heinz Bär hat geschrieben: Der Grund dafür ist, dass die ganzen Makros beim Laden mit "REM" auskommentiert werden. Dadurch haben sie gar keine Befehlszeilen mehr. Warum das unter Windows gemacht wird, weiss ich nicht.
Das ist so nicht ganz richtig. Ausdokumentiert wird nur dann, wenn Du in den Optionen das Häkchen nicht gesetzt hast. Wenn Du in den Optionen unter Laden/Speichern einen Haken bei Ausführbarer Code setzt, dann wird der VBA-Code aktiviert und nicht ausdokumentiert.

Re: Excel in Calc ändern?

Verfasst: Fr, 16.10.2009 15:35
von gero018
Hallo Rene.

Erst einmal danke für Dein Hilfeangebot.

Ich muss Dir leider die komplette Datei senden da ich wie schon geschrieben keine Ahnung von all dem habe ausser das ich die Tabellen füllen kann.
Ich muss die Tabellen nicht unbedingt mit Excel wieder öffnen können da ich bei mir als auch auf der Arbeit OOoCalc eingerichtet habe. Wenn Du es also schaffen solltest das diese Tabelle nur mit OOoCalc geöffnet werden kann würde mir das schon mehr als ausreichend sein.
Hoffentlich mache ich Dir nicht zuviel Arbeit.

Habe gerade festgestellt das Gesamtdatei zu gross ist um anzuhängen. Wenn Du mir trotzdem helfen möchtest müsste ich Dir die Datei als E-Mailanhang zusenden.

Gruss

Dieter

Re: Excel in Calc ändern?

Verfasst: Fr, 16.10.2009 15:56
von mumpel
Nicht alles aus VBA läuft in Starbasic. Das trifft insbesondere auf die Dialoge (Userformen), Tabellenereignisse (Worksheet_Change, Worksheet_Activate usw.), Klassenmodule und Workbook-Ereignisse (Workbook_Open, Workbook_BeforeClose, Workbook_SheetChange usw.) zu. Tabellenereignisse, Workbook-Ereignisse und Klassenmodule gibt es in OOo nicht. Auch keinen adäquaten Ersatz dafür. Und den Listener in Starbsic kann man vergessen. Auch die Symbolleisten aus MSO lassen sich nicht ohne umprogrammieren in OOo einsetzen. Solltest Du derartiges in der Exceldatei haben so kannst Du das ganze sofort vergessen. Eine solche Umstellung nach OOo wird Dir keiner hier umsonst machen. Da sollte Dein Arbeitgeber mal schauen, was er auszugeben bereit ist.

Re: Excel in Calc ändern?

Verfasst: Fr, 16.10.2009 17:26
von gero018
Hallo Rene


Hab mal Makro angehängt. Kann man das was machen?


Gruss
Dieter


'
' Makro GeräteGesamt
' Makro Geräte kopieren und sortieren
'
' Tastenkombination: Strg+g
'

Sheets("Geräte-Gesamt").Select
Cells.Select
Selection.Delete Shift:=xlUp
Range("A1").Select

Cells(1, 1).Value = ("Bezeichnung")
Cells(1, 2).Value = ("Lieferant")
Cells(1, 3).Value = ("Type")
Cells(1, 4).Value = ("LB-Nr.")
Cells(1, 5).Value = ("AB-Nr.")
Cells(1, 6).Value = ("Koje")

Dim Range1 As Range
Dim Range2 As Range
Dim Range3 As Range
Dim Range4 As Range
Dim Range5 As Range
Dim RangeGesamt As Range

For Blatt = 8 To Sheets.Count

Sheets(Blatt).Select

For Zeile = 1 To 11

Cells(Zeile + 7, 3).Select

If Selection <> "" Then
Set Range1 = Cells(Zeile + 7, 2)
Set Range2 = Cells(Zeile + 7, 3)
Set Range3 = Cells(Zeile + 7, 4)
Set Range4 = Cells(Zeile + 7, 6)
Set Range5 = Cells(Zeile + 7, 7)
Set RangeGesamt = Union(Range1, Range2, Range3, Range4, Range5)
RangeGesamt.Select
Selection.Copy
Sheets("Geräte-Gesamt").Select
Cells((Blatt - 6) * 11 + Zeile, 1).Select
ActiveSheet.Paste
Cells((Blatt - 6) * 11 + Zeile, 6).Value = Sheets(Blatt).Name
Sheets(Blatt).Select
Range("A1").Select
End If

Next Zeile

Sheets("Geräte-Gesamt").Select
Range("A1").Select

Next Blatt

Range("A1").Select

Cells.Select
Application.CutCopyMode = False
With Selection.Font
.Name = "Arial"
.FontStyle = "Standard"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Selection.Interior.ColorIndex = xlNone
Selection.Columns.AutoFit
Selection.Sort Key1:=Range("B1"), Order1:=xlAscending, Key2:=Range("A1") _
, Order2:=xlAscending, Key3:=Range("C1"), Order3:=xlAscending, Header:= _
xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("A1").Select
Rows("1:1").Select
Selection.Font.Bold = True
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.MergeCells = False
End With
Range("A1").Select

End Sub

Re: Excel in Calc ändern?

Verfasst: Fr, 16.10.2009 17:57
von mumpel
Wenn es nur das eine Makro ist dann sollte es kein Problem sein. Setze einfach am Anfang des Modules die Zeile Option VBASupport 1
Dann sollte das Makro auch in OOo laufen. Außer im letzten Block (With Selection.Font) sehe ich ein wenig schwarz. Ob das so funktioniert? Die Zeile Application.CutCopyMode = False musst Du entfernen, das gibt es in OOo nicht.