PDA

Vollständige Version anzeigen : Makro für Fußnote


McNally
24.07.2001, 08:16
Hallo Ihr Excel-Profis,

ich habe eine nette Aufgabe in Excel bekommen und stehe da vor einem kleine Problem:

Ich muß mit VB ein Makro erstellen, daß folgendes kann. Per Mausklick muß ein neues leeres Tabellenblatt erstellt werden und am Ende des Blattes muß ein Text wie eine Fußnote eingefügt werden.

Kann mir jemand sagen, wie man dieses Problem lösen kann?
Danke im voraus!

McNally

tornado
26.07.2001, 09:05
Hallo McNally

Wo ist Dein Ende des Blattes ??

Spalte IV, Zeile 65536 ?

Gruss
Roger

McNally
26.07.2001, 09:32
Das Ende des Blattes, ist die erste Seite, die gedruckt werden soll.

jinx
27.07.2001, 06:32
Moin, McNally,

einige für mich typische Bemerkungen vorweg.
VB heißt Visual Basic, ist ein eigenständiges Programm und hat im Forum einen eigenen Bereich. Das hieße dann, Eintrag im falschen Forum. In VB kann ich Dir leider nicht helfen – wohl aber in VBA (for Applications)....

Die Aufgabenstellung, auf jeden Mausklick hin ein Makro auszuführen, ist wohl nicht sauber formuliert. Daher vermute ich, dass ein Drücken/Klicken auf einen Schalter es auch tun dürfte....

Fußnoten sind eigentlich ein Mittel aus textorientierten / rahmenorientierten Programmen, die auf jeder eingerichteten Druckseite ab einem bestimmten Punkt oder gesammelt am Ende eines Kapitels oder der Arbeit die Fußnoten ausgeben. Dies sind daher die Textverarbeitungsprogramme (MS-Office-Forum: Word prädestiniert) und Layoutprogramme.
Excel zählt als Tabellenkalkulation nicht zu diesem Bereich, daher ist das Vorhaben nur auf Umwegen und äußerst unzufriedenstellend zu lösen, denn...

Du bist scheinbar so freundlich, davon auszugehen, dass Dein Bericht auf Standardmaße (DINA4 hoch) gedruckt wird. Bei jedem abweichenden Format muss neu berechnet und angepasst werden, auch wenn das Blatt nur quer ausgedruckt wird....

Zum Vorschlag (erstellt mit Excel 2000):
Makro erstellt Blatt namens „McNally“ am Ende der Arbeitsmappe, formatiert das Blatt in Schrift Arial 11, fügt einen durchgehenden verbundenen Bereich in Zeilen 49 und 50 über Spalten A bis G ein und formatiert diesen in Arial 9; flimmern wird abgestellt:

Sub McNallyFussnote()
Application.ScreenUpdating = False
Worksheets.Add.Move after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = "McNally"
Sheets("McNally").Select
Cells.Select
With Selection.Font
.Name = "Arial"
.Size = 11
End With
Sheets("McNally").Select
Range("A49:G50").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.MergeCells = True
End With
With Selection.Font
.Name = "Arial"
.Size = 9
End With
Application.SreenUpdating = True
End Sub

Solltest Du noch diese zelle aktivieren wollen, einfügen von Range(„A49“).Select vor Aktivierung ScreenUpdating.

Jetzt noch einen Schalter auf die Tabelle legen, den Schalter beschriften, das Makro zuweisen, tja, und dann beginnt Deine eigentliche Arbeit: Anpassen an den Drucker durch Änderung der Werte A49:G50, da ich nicht versprechen kann, das der o.a. Bereich auf Deinem Drucker mit Deinen Angaben auf der ersten Seite unten gedruckt wird....

<font size="1" face="Century Gothic">Moderatorenanmerkung: die Überarbeitung dieses Beitrages ist im Zuge der Arbeiten zu sehen, die durch den Wechsel der Forensoftware zum 01.01.2003 verursacht wurden.

Es wurden in diesem Beitrag Links korrigiert, die auf falsche Adressen zeigten...</font>

Klaus-Dieter
28.07.2001, 21:16
Hallo McNally,

das folgende Makro erzeugt eine Fußnote mit dem Inhalt 'Fußzeile Test'. Wenn Du die entsprechende Zeile änderst, erscheint Dein Wunschtext. Soll der Text links oder in der Mitte stehen, setzt Du ihn entsprechend unter 'LeftFooter' oder 'CenterFooter' ein.
Sub Makro_fuer_Fusszeile()

With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
End With
ActiveSheet.PageSetup.PrintArea = ""
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = "Fußzeile Test"
.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 = 300
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlPortrait
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 100
End With
End Sub

McNally
30.07.2001, 06:57
Danke an Klaus-Dieter und die anderen Excel-Profis.

joku
27.01.2002, 15:11
Hallo Klaus Dieter,
wie erreicht man, dass es in dem Fußtext mehrzeilig wird? D. h. wie erzeugt man einen Zeilenumbruch??

Bin (durch Makro aufzeichnen und dann hineingucken) inzwischen selbst drauf gekommen. Man schreibt z. B.:
.RightFooter = "erste Zeile" & Chr(10) & "zweite Zeile" & Chr(10) & "usw."
JK

[ 27. Januar 2002: Beitrag editiert von: joku ]</p>