WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Excel formatieren: Zellen zusammenfügen

 

Vesuv
Forum-Anfänger

Forum-Anfänger


Beiträge: 32
Anmeldedatum: 08.07.15
Wohnort: Baden-Württemberg
Version: R2016b
     Beitrag Verfasst am: 14.08.2015, 07:49     Titel: Excel formatieren: Zellen zusammenfügen
  Antworten mit Zitat      
Hallo allerseits!

Ich versuche gerade eine Exceltabelle zu formattieren. Da Matlab nicht in des Anscheins nach nicht in eine bereits formattierte Exceldatei schreiben kann, speicher ich die Datei, in welche ich immer wieder schreibe, kurzerhand jedes Mal als .xls neu und tobe mich dann an der .xls-Datei aus.
Ich bin bereits so weit gekommen, dass ich bestimmte Feldes farblich hinterlegen konnte und ich habe Rahmen/Tabellen um bestimmte Spalten gezeichnet.
Jetzt scheitere ich momentan an folgendem Problem:

Ich möchte mehrere Zellen zu einer zusammenfügen!
Sprich die Zellen A1,B1,C1 und D1 sollen zu einer gemeinsmaen Zelle werden. Excel kann das, aber ich möchte dem Nutzer das eigentlich nicht aufbürgen, sondern ihm direkt eine übersichtlichte Tabelle liefern..
Weiß jemand wie das geht? Oder hast eine Idee?
Hier mein bisheriger Code:
Code:

xls = actxserver('Excel.Application');               % den Excel-Server starten
datei = xls.Workbooks.Open([pwd() filesep 'numbers.xls']); % numbers.xls-Datei öffnen
datei.Sheets.Item(1).Activate;                          % 1. Blatt aktivieren
active_sheet = wb.ActiveSheet;                                 % mit aktivem Blatt arbeiten
active_sheet.Range('A1').Interior.ColorIndex = 15;     % folgende Zeilen hinterlegen jeweilige Spalte grau
active_sheet.Range('G8').Interior.ColorIndex = 15;
active_sheet.Range('F3').Interior.ColorIndex = 15;
active_sheet.Range('P4').Interior.ColorIndex = 15;
active_sheet.Range('B9:K9').Interior.ColorIndex = 15;
active_sheet.get('Range','E:E').Border.Item('xlEdgeRight').LineStyle = 1;   % Rahmen rechts
active_sheet.get('Range','F:F').Border.Item('xlEdgeRight').LineStyle = 1;
active_sheet.get('Range','A9:Q9').Border.Item('xlEdgeBottom').LineStyle = 1;  % "Rahmen unten"/Unterstrich

% hier würde ich gerne Zellen zusammenfügen

datei.Save;                                % Blatt sichern
datei.Close;    
 


Für alle die es interessiert, mir hat die folgende Seite sehr weitergeholfen, aber jetzt komm ich selbst damit nicht weiter.. evetuell weil ich die Syntax auch gar nicht so recht verstehe Smile
https://msdn.microsoft.com/DE-DE/library/office/ff196273.aspx
_________________

never touch a running system!
Private Nachricht senden Benutzer-Profile anzeigen


Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.08.2015, 08:14     Titel: Re: Excel formatieren: Zellen zusammenfügen
  Antworten mit Zitat      
Vesuv hat Folgendes geschrieben:
Da Matlab nicht in des Anscheins nach nicht in eine bereits formattierte Exceldatei schreiben kann


Wenn Du das sagst... :D

Hast Du mal auf der von Dir verlinkten Seite diese beiden Hinweise gelesen?
https://msdn.microsoft.com/DE-DE/library/office/ff197310.aspx
https://msdn.microsoft.com/DE-DE/library/office/ff822300.aspx

Das sollte doch genau das sein, was Du suchst.
Private Nachricht senden Benutzer-Profile anzeigen
 
Vesuv
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 32
Anmeldedatum: 08.07.15
Wohnort: Baden-Württemberg
Version: R2016b
     Beitrag Verfasst am: 14.08.2015, 11:42     Titel: Re: Excel formatieren: Zellen zusammenfügen
  Antworten mit Zitat      
Epfi hat Folgendes geschrieben:

Wenn Du das sagst... Very Happy

Ok.. ich habe zumindest nicht rausgefunden wie das geht und dachte dann mach ich es eben Umwege. Doof, dass die Umwege mir jetzt auch solche Probleme bereiten Laughing
Zitat:

Das sollte doch genau das sein, was Du suchst.

Sieht so aus, es klingt zumindest schon einmal vielversprechend.. nur weiß ich nicht genau wie der Befehl genau lauten muss..
ich denke an etwas in der Richtung:
Code:

active_sheet.Range('A1:F1').MergeCells % und dann bestimmt noch was..
 


ich habe noch relativ wenig mit Excel gearbeitet und mit Matlab leider auch noch nicht so viel.. dank gomatlab lerne ich relativ viel.. aber mit diesen ganzen handles/struct-eigenschaften/Sachen fühle ich mich definitiv noch völlig überfordert..
_________________

never touch a running system!
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.