Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
260to264
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
260to264
260to264
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Macrogesteuerte Korrektur in Kopfzeile

Macrogesteuerte Korrektur in Kopfzeile
23.05.2003 12:06:39
urs
Hallo Users

ich sollte in ein paar hundert EXCEL und WORD Files eine Korrektur anbringen.Die Dateien sind zusammen in einem separaten Ordner.

Im Kopf oben rechts steht zb. 11290 - 3 oder 11290-3 oder nur 11290.
Die Anzahl der vielleicht vorhandenen Leerschläge ist nicht bekannt!
nach der Korrektur sollte im Kopf oben rechts die 5stellige Zahl stehen und in der 2. Linie oben rechts Ae 03 oder eben Ae 00 wenn kein Bindestrich und weitere Zahl vorhanden war.

z.B.

11290
Ae 03

How to do?

gruss urs

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Macrogesteuerte Korrektur in Kopfzeile
23.05.2003 13:00:24
PeterG

Hallo urs,

ich könnte die eine Teillösung für Excel bieten, wobei ich nicht weiß, was mit oben rechts gemeint ist. Ich bin davon ausgegangen, daß der Kopf in Zelle A1 steht, oben rechts also rechts in A1. Ggfs. mußt du das noch anpassen, es ist auch nicht getestet.

Const Verzeichnis$ = "D:\SST\AU\" ' <----------------- einstellen

Private Sub Korrektur()
Dim K$, K1$, K2$, z%, z1%, Leer$, n%
For n = 1 To 100: Leer = Leer & " ": Next ' <----ggfs. noch länger
K$ = Cells(1, 1): z = InStr(K, "11290")
If z = 0 Then MsgBox "11290 nicht gefunden!": Exit Sub
If Len(K) > z + 4 Then
K1 = Mid(K, 5): z1 = InStr(K1, "-")
If z1 > 0 Then
K2 = "Ae " & Format(CInt(Trim(Mid(K1, z1 + 1))), "00")
Else
K2 = "Ae 00"
End If
Else
K2 = "Ae 00"
End If
Cells(1, 1) = Left(K, z + 4)
Rows("2:2").Select: Selection.Insert Shift:=xlDown
Cells(2, 1) = Left(Leer, z - 1) & K2
End Sub

Sub DateienOeffnen() '<-- mit diesem Makro starten
Dim arrFiles As Variant
Dim intCounter As Integer
Dim strPath As String
Dim bln As Boolean
bln = Application.DisplayStatusBar
Application.DisplayStatusBar = True
strPath = Verzeichnis
arrFiles = FileArray(strPath, "*.xls")
For intCounter = 1 To UBound(arrFiles)
Application.StatusBar = "Öffne Datei " & _
arrFiles(intCounter) & "..."
Workbooks.Open strPath & arrFiles(intCounter)
Call Korrektur
Workbooks(arrFiles(intCounter)).Save
Workbooks(arrFiles(intCounter)).Close
Next intCounter
Application.StatusBar = False
Application.DisplayStatusBar = bln
End Sub

Private Function FileArray(strPath As String, strPattern As String)
Dim arrDateien()
Dim intCounter As Integer
Dim strDatei As String
If Right(strPath, 1) <> "\" Then strPath = strPath & "\"
strDatei = Dir(strPath & strPattern)
Do While strDatei <> ""
intCounter = intCounter + 1
ReDim Preserve arrDateien(1 To intCounter)
arrDateien(intCounter) = strDatei
strDatei = Dir()
Loop
FileArray = arrDateien
End Function

Anzeige
Re: Macrogesteuerte Korrektur in Kopfzeile
26.05.2003 08:53:27
urs

Hallo Peter
danke für Deinen Beitrag.
ich komme erst heute zum Testen. Aber unter Kopfzeil rechts oben verstehe ich:
- Header right

und unter Fusszeile:
- footer right

Gruss Urs

Re: Macrogesteuerte Korrektur in Kopfzeile
26.05.2003 09:38:37
PeterG

Hallo urs,

also da war ich wohl auf dem ganz falschen Dampfer. Ich habe mir eine reguläre Kopfzeile einer Exceltabelle vorgestellt, nicht die Kopfzeile beim Ausdruck.
Statt Cells(1,1)= .. müsste im Code dann sagen
ActiveSheet.PageSetup.RightHeader = .. wobei der Leer-String dann ganz wegfallen kann.
Gruss
Peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige