Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
872to876
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
872to876
872to876
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

wer kann mir VBA-Routine modifizieren?

wer kann mir VBA-Routine modifizieren?
27.05.2007 09:44:49
Jürgen

Hallo Leute,
Luschi hat mir freundlicherweise eine prinzipiell funktionierende Routine geschrieben die Zeilen und Spalten fixieren kann.
Leider hat er sie nur als Rohmuster designt um zu zeigen wie das geht und keine Zeit und Lust sie in eine universell brauchbare Fassung zu bringen.
Vielleicht hat ja hier ein anderer guter VBA-Programmierer etwas mehr Zeit und Lust um aus der Routine unter
https://www.herber.de/bbs/user/42789.xls
eine universellere Routine zu machen !?
meine Vorstellung dabei:
Statt das Programm von Luschi für jede Arbeitsmappe und jedes neu dazu kommende Arbeitsblatt zu modifizieren hatte ich folgende Vorstellung:
in Schreibe in eine Zelle, deren Position im Programm fix ist, zum eventuellen dort schon vorhandenen Text eine zusätzlichen Text der Form Z^S, wobei Z und S für die Bedeutung von Zeile und Spalte stehen und die Werte 0..9 annehmen können.
2^3 hiesse also: Fensterfixierung auf dieser Seite hinter Zeile 2 und Spalte 3,
0^3 demzufolge: nur Spaltenfixierung hinter Spalte 3,
überhaupt kein ^ in der Zelle: keine Fixierung.
Die Routine selbst ist erforderlich da Excel beim Öffnen bzw. Schliessen von Mappen, die zu einem Aufgabenbereich zusammengefasst sind, die manuell auf den Seiten gesetzten Fensterfixierungen verschlampt.
Dank an alle die mir antworten,
Grüsse alle die dies lesen
Jürgen

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: wer kann mir VBA-Routine modifizieren?
27.05.2007 14:19:00
Daniel
Hallo
das sollte dieses Makro tun:
die Anweisung fürs FensterFixieren des jeweiligen Blattes müssen in der von dir beschriebenen Form in der Zelle A1 stehen

Private Sub Workbook_Open()
Dim sh As Worksheet
Dim Txt As String
Dim Pos As Long
For Each sh In ThisWorkbook.Worksheets
sh.Select
ActiveWindow.FreezePanes = False
Txt = Range("A1").Value
Pos = InStr(Txt, "^")
If Pos > 0 Then
Cells(CLng(Mid(Txt, Pos - 1, 1)) + 1, CLng(Mid(Txt, Pos + 1, 1)) + 1).Select
ActiveWindow.FreezePanes = True
End If
Next
End Sub


Gruß, Daniel

Anzeige
AW: wer kann mir VBA-Routine modifizieren?
27.05.2007 20:45:04
Jürgen
Hallo Daniel,
ich habe diese Routine als neues Modul in meine kleine Routinensammlung eingetragen.
was muss ich tun damit sie beim Öffnen der Mappe automatisch ausgeführt wird?
Gruss
Jürgen

Ins Modul "DieseArbeitsmappe" der Datei einfügen
28.05.2007 20:25:00
Daniel

AW: Ins Modul "DieseArbeitsmappe" der Datei einfügen
28.05.2007 20:51:00
Jürgen
Hallo Daniel,
deine Antwort enthält keinen Text!
Gruss
Jürgen

AW: Ins Modul "DieseArbeitsmappe" der Datei einfügen
28.05.2007 22:37:00
Daniel
aber ne Betreffzeile mit der notwendigen Information
Gruß, Daniel

AW: Ins Modul "DieseArbeitsmappe" der Datei einfügen
29.05.2007 21:09:00
Jürgen
Hallo Daniel,
ich habe viele Mappen!
wenn ich immer alles in die Mappen direkt einfüge und muss mal was ändern, dann muss ich das an vielen vielen Stellen tuen.
das ist nicht die praktische Programmierkunst!
es wäre aber möglich die eigentliche Routine in meine Routinensammlung einzufügen und aus DieseArbeitsmappe jeweils aufzurufen.
was müsste ich dazu alles machen?
Gruss
Jürgen

Anzeige
AW: Ins Modul "DieseArbeitsmappe" der Datei einfügen
29.05.2007 22:55:00
Daniel
Hallo
die Frage ist, ob noch andere Personen, die nicht mit auf deine persönliche Formelsammlung damit arbeiten sollen.
wenn das der Fall ist, sollte das Makro natürlich schon direkt in die Arbeitsmappe rein, sonst bekommen deine Kollegen ein Problem.
ansonsten den Code in deine Persönliche Arbeitsmappe reinkopieren (die Persönliche Arbeitsmappe wird normalerweise automatisch geladen und dann ausgeblendet und heißt PERSOENL.xls (oder so ählich)
dann brauchst du nur den entsprechenen Aufruf in das Workbook_open-event reinzuschreiben.
oder du bastelst dir über eine XLA-Datei eine Funktionserweiterung, da hab ich aber keine Ahnung von wie das geht.
Gruß, Daniel

Anzeige
AW: Ins Modul "DieseArbeitsmappe" der Datei einfügen
31.05.2007 07:18:00
Jürgen
Hallo Daniel,
danke für deine Ausführungen.
ich habe aber keine VBA Grundkenntnisse.
"dann brauchst du nur den entsprechenen Aufruf in das Workbook_open-event reinzuschreiben."
WAS muss ich dazu genau WO eintippen?
Gruss
Jürgen

AW: Ins Modul "DieseArbeitsmappe" der Datei einfügen
01.06.2007 01:22:00
Daniel
wenn du keine Grundkenntnisse hast, würde ich empfehlen, einen Kurs zu machen.
VBA nur aus dem Forum lernen zu wollen, wird für beide Seiten etwas anstrengend.
so musst du es eintragen, wenn du den eigentlichen Code in deiner persönlichen Arbeitsmappe hinterlegt hast.
Userbild
Gruß, Daniel

Anzeige
AW: Ins Modul "DieseArbeitsmappe" der Datei einfügen
01.06.2007 09:32:00
Jürgen
Hallo Daniel,
danke für deine Antwort.
mit dem ersten Satz hast du recht,
ich bin aber derzeit so im Stress und mit allen möglichen anderen Sachen voll ausgelastet das ich dazu keine Zeit finde, auch wenn mich das brennend interessiert.
ich muss daher halt rumwursteln.
Gruss
Jürgen

AW: Ins Modul "DieseArbeitsmappe" der Datei einfügen
02.06.2007 08:04:30
Jürgen
Hallo Daniel,
ich brauche nochmal deine Hilfe:
ich habe meine Funktionen in der Datei "Windows/Anwendungsdaten/AddIns/"funktionen.xla" stehen und als AddIn geladen (und nicht in der personal.xls stehen).
Dort habe ich auch die Sub für die Fensterfixierung in ein neues Modul eingetragen und die Zeile:

Private Sub Workbook_Open()
in
Option Explizit
Global Sub Fensterfix()
geändert.
ich hoffe, dass das so richtig ist.
Dann habe ich in "DieseArbeitsmappe" eingetragen:
Option Explicit


Private Sub Workbook_Open()
fensterFix()
End Sub


das funktioniert aber nicht:
die Zeile mit dem fensterFix() wird beim Öffnen des Arbeitsblattes mit :
Fehler beim Kompilieren: Syntaxfehler
vom VBA Kompiler angemeckert.
offenbar muss man die Routine anders aufrufen.
wie muss es richtig heissen?
Gruss
Jürgen

Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige