Richtiges Format für Variable

Bild

Betrifft: Richtiges Format für Variable
von: Frank
Geschrieben am: 09.11.2015 17:49:57

Hallo,
ich habe eine Variable, die eine Kombination aus einem Datum und einem Text enthalten soll sowie dazwischen einen Zeilenumbruch.
Beispiel:
Version 2.0
09.11.2015
Die Variable wird dabei wie folgt generiert:

headerLeft = Worksheets(5).Range("HeaderLeft").Value & Chr(10) & "&D"
Kann ich in diesem Fall die Variable trotzdem als String definieren oder ist hier etwas anderes besser / notwendig ?
Vielen Dank im Voraus,
Frank

Bild

Betrifft: AW: Richtiges Format für Variable
von: Nepumuk
Geschrieben am: 09.11.2015 17:57:35
Hallo,
du liegst schon richtig, das ist ein String.
Gruß
Nepumuk

Bild

Betrifft: AW: Richtiges Format für Variable
von: Frank
Geschrieben am: 09.11.2015 18:06:18
Hallo Nepumuk,
vielen Dank - mein Problem ist, dass ich hier eine Fehlermeldung erhalte.
Mein Code sieht bisher wie folgt aus und der Debugger springt jedes Mal auf die 1. Zeile im PageSetup und genau hier verwende ich diese Variable:
Der Code:

Sub CreateHeaderFooter()
    Dim varFooterLeft As String
    Dim varFooterRight As String
    Dim varHeaderLeft As String
    
    varHeaderLeft = Worksheets(5).Range("HeaderLeft").Value & Chr(10) & "&D"
    varFooterLeft = Worksheets(5).Range("FooterLeft").Value
    varFooterRight = Worksheets(5).Range("FooterRight1").Value & " &P " & Worksheets(5).Range(" _
FooterRight2").Value & " &N"
    
    With Worksheets(2).PageSetup
        .LeftHeader = "&8&K155A82" & varHeaderLeft ' hier springt der Debugger an
        .LeftFooter = "&8&K155A82" & varFooterLeft
        .RightFooter = "&8&K155A82" & varFooterRight
    End With
End Sub
Die Fehlermeldung:
Run-time error: Method 'LeftHeader' of object 'PageSetup' failed.
Irgend eine Idee, was das Problem sein könnte, wenn es nicht die Variable ist ?
Gruß,
Frank

Bild

Betrifft: AW: Richtiges Format für Variable
von: Nepumuk
Geschrieben am: 09.11.2015 18:21:00
Hallo,
kann ich nicht nachvollziehen, in meinem Test funktioniert das problemlos. Kannst du eine Testmappe hochladen in der dieser Fehler auftritt?
Gruß
Nepumuk

Bild

Betrifft: Wahrscheinlich .Value des definierten Namens, ...
von: Luc:-?
Geschrieben am: 09.11.2015 18:21:34
…Frank,
denn das beginnt stets mit =.
Luc :-?

Bild

Betrifft: AW: Wahrscheinlich .Value des definierten Namens, ...
von: Frank
Geschrieben am: 09.11.2015 20:45:36
Hallo Luc,
vielen Dank.
Das kann gut sein - wie kann ich das umgehen ? Würde .Text statt .Value oder etwas in der Art helfen ?
Die Werte in den Namensbereichen werden über einfache Verknüpf-, Index-, Match-Formeln erstellt, so dass aufgrund der Formeln der Wert in den Zellen immer mit = beginnt.
Gruß,
Frank

Bild

Betrifft: AW: Wahrscheinlich .Value des definierten Namens, ...
von: Nepumuk
Geschrieben am: 09.11.2015 21:15:55
Hallo,
das ist doch kompletter Unsinn. Range("Name").Value gibt den angezeigten Wert der Zelle zurück, egal ob eine Formel drin steht oder nicht.
Gruß
Nepumuk

Bild

Betrifft: AW: Wahrscheinlich .Value des definierten Namens, ...
von: Frank
Geschrieben am: 09.11.2015 23:00:41
Hallo Nepumuk,
danke - ich kann diese Datei leider aufgrund des Inhalts nicht hochladen.
Zusätzlich zur Fehlermeldung ist mir jetzt aber noch aufgefallen, dass bei jedem Versuch ein Pdf zu erstellen, eine ganze Reihe .tmp-Dateien auf meinem Desktop gespeichert werden, deren Namen alle mit mso beginnen.
Hilft das vielleicht ?
Gruß,
Frank

Bild

Betrifft: AW: Wahrscheinlich .Value des definierten Namens, ...
von: Daniel
Geschrieben am: 09.11.2015 23:11:32
Hi
den Inhalt kannst du löschen, ausser den Zellen, die für dieses Problem relevant sind, dh die Zellen auf die sich die im Beispielcode verwendeten Namen beziehen.
alles andere kann weg.
ansonsten solltest du vielleicht noch folgendes abklären und das Ergebnis mittelen:
a) was steht bei deinen Formeln im Namensmanager bei "bezieht sich auf"
b) teste mal anstelle der Fehlerverursachenden Zeile diese beiden Zeilen:

.LeftHeader = "&8&K155A82" 
.LeftHeader =  varHeaderLeft

und sage uns, welche funktioniert und welche nicht (und welcher Fehler dann auftritt)
Gruss Daniel

Bild

Betrifft: Stimmt! Hatte dabei an Name.Value gedacht!
von: Luc:-?
Geschrieben am: 09.11.2015 23:07:09
Aber, warum klemt's dann…? Muss also etwas Anderes im Argen liegen, Frank!
Luc :-?

Bild

Betrifft: Nee, die darf/muss 'String' sein! Gruß owT
von: Luc:-?
Geschrieben am: 09.11.2015 17:57:42
:-?

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Richtiges Format für Variable"