VBA Excel Seite einrichten

Im Unterforum Hardware, Betriebssysteme, Programmiersprachen - Beschreibung: Alles zu Software, Hardware, Windows, Linux, Programmiersprachen
Anfragen zu Modding, Games, Cracks, etc. unerwünscht.

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 25 11 2024  05:56:05      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Osziloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Hardware, Betriebssysteme, Programmiersprachen        Hardware, Betriebssysteme, Programmiersprachen : Alles zu Software, Hardware, Windows, Linux, Programmiersprachen
Anfragen zu Modding, Games, Cracks, etc. unerwünscht.


Autor
VBA Excel Seite einrichten

    







BID = 708185

RaPe

Gelegenheitsposter



Beiträge: 56
Wohnort: Radebeul
 

  


Hallo,

programmiere gerade in Excel und will die Seite einrichten:
Sub Test
ActiveSheet.PageSetup.PrintArea = "$A$1:$F$10"
end sub
(hab die Zeile jetzt von Hand abgeschrieben, also nicht meckern, falls ich jetzt nen Punkt falsch gesetzt habe)

hab das Programm bis auf diese Zeile gekürzt und trotzdem meckert der jedesmal rum. Drückt man Fortsetzen, tut er so, als hätte es nie Probleme gegeben. (WinXP)
Warum hält der immer an und bringt ne Fehlermeldung bei dieser Zeile?

Hab auch schon ne leere Arbeitsmappe zum Testen genommen...

Danke
RaPe

BID = 708196

JuergenH

Gerade angekommen


Beiträge: 11
Wohnort: 88677 Markdorf

 

  

Ich habe vieles in VBA programmiert. Dabei war meistens ein aufgezeichnetes Makro der Anfangspunkt:

Sub Makro2()
'
' Makro2 Makro
' Makro am 16.08.2010 von JuergenH aufgezeichnet
'

'
With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
End With
ActiveSheet.PageSetup.PrintArea = "$A$1:$F$10"
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.787401575)
.RightMargin = Application.InchesToPoints(0.787401575)
.TopMargin = Application.InchesToPoints(0.984251969)
.BottomMargin = Application.InchesToPoints(0.984251969)
.HeaderMargin = Application.InchesToPoints(0.4921259845)
.FooterMargin = Application.InchesToPoints(0.4921259845)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 600
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlPortrait
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 100
End With
End Sub

Fang mit diesem Monstrum an und streiche nach und nach die zusätzlichen (=meist unnötigen) Formatierungen heraus.

Jürgen

BID = 708278

clembra

Inventar



Beiträge: 5404
Wohnort: Weeze / Niederrhein
ICQ Status  

...und es bleibt genau das stehen, was oben bereits steht, die Zeile ist so nämlich vollkommen korrekt (abgesehen vom fehlenden Klammernpaar hinter dem Funktionsnamen, den Excel automatisch ergänzen würde).

Wie rufst du die Funktion denn auf? Kannst du mal deine Mappe bzw. eine nicht funktionierende Testdatei hier hochladen, ich kann dein Problem nicht nachvollziehen.

Ach ja: Welche Excel-Version setzt du ein?

_________________
Reboot oder be root, das ist hier die Frage.

BID = 708284

JuergenH

Gerade angekommen


Beiträge: 11
Wohnort: 88677 Markdorf

Ich habe mein Makro oben auf die eine Zeile:

ActiveSheet.PageSetup.PrintArea = "$A$1:$F$10"

reduziert, und es läuft immer noch. Ich habe hier Excel 2000. Könnte es sein, dass ein Excel-Blatt erst angelegt sein muss, damit diese Zeile darauf losgelassen werden darf?

Jürgen

BID = 708302

clembra

Inventar



Beiträge: 5404
Wohnort: Weeze / Niederrhein
ICQ Status  

Bei mir tut es aktuell ein O2k7 ganz gut.
Und ja, es muss eine Mappe mit Tabellenblatt geöffnet sein, ansonsten ist ActiveSheet nicht definiert. Ohne active sheet kein ActiveSheet

_________________
Reboot oder be root, das ist hier die Frage.

BID = 708669

RaPe

Gelegenheitsposter



Beiträge: 56
Wohnort: Radebeul

Ich habe das Testprogramm, am Ende bis auf diese eine Zeile reduziert.
Eine neue leere Arbeitsmappe geöffnet oder auch mal in einem Dokument diese Zeile losgelassen. Wenn ich nach der Fehlermeldung "debuggen" drücke steht der Curser auf "end sub" und meckert. Drücke ich hingegen Fortfahren, läuft das Programm weiter, als wäre nichts gewesen.
In beiden fällen, wird der Inhalt aber trotzdem ausgeführt. Die Seite ist eingerichtet.
Leider solln aber später noch paar Zeilen folgen und ich möchte nicht dauernd ne Fehlermeldung erhalten. Auch ein Trick mit "On Error goto 1" hat die selbe Fehlermeldung ausgelöst.

So, vielleicht hab ich euch jetzt auf die richtige oder die komplet falsche Spur gebracht.

BID = 708688

clembra

Inventar



Beiträge: 5404
Wohnort: Weeze / Niederrhein
ICQ Status  

Das on error goto 1 kannst du weglassen, wenn ich mich richtig erinnere kann man damit das Standardverhalten zurücksetzen. Da du dieses nie geändert hast braucht das nicht. Und auch Produktiv halte ich die Vorgehensweise nicht für klug, höchstens fürs Debugging in größeren Prozeduren.

Dennoch die Bitte, hänge mal die Testdatei an. Ich kann es nämlich nicht nachvollziehen, bei mir funktioniert es. Mit Excel 2002 habe ich es auch getestet, läuft super und ohne Fehler.

_________________
Reboot oder be root, das ist hier die Frage.

BID = 709513

RaPe

Gelegenheitsposter



Beiträge: 56
Wohnort: Radebeul

Ihr habt Recht, die Zeile funktioniert super (auf einem anderen PC). Auf dem wo es später arbeiten soll ist Win XP(SP3) und Excel 2003 installiert. Geht aber nicht!
Tja: Kennt jemand noch nen anderen Befehl, der aber auf das selbe Ergebnis führt?

BID = 709570

clembra

Inventar



Beiträge: 5404
Wohnort: Weeze / Niederrhein
ICQ Status  

Kann es sein, dass auf jenem PC kein (Standard-)Drucker installiert ist?
Das wäre meine einzige übrig bleibende Erklärung. Einen anderen Befehl kenne ich nicht und wird es wahrscheinlich auch nicht geben. Wozu sollte es auch zwei Befehle für den selben Zweck geben?

_________________
Reboot oder be root, das ist hier die Frage.


Zurück zur Seite 1 im Unterforum          Vorheriges Thema Nächstes Thema 


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 20 Beiträge im Durchschnitt pro Tag       heute wurden bisher 0 Beiträge verfasst
© x sparkkelsputz        Besucher : 182393443   Heute : 639    Gestern : 7548    Online : 704        25.11.2024    5:56
0 Besucher in den letzten 60 Sekunden         ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.0755348205566