Office: Druckbereich per VBA in anderer Mappe - seltsames Verhalten

Helfe beim Thema Druckbereich per VBA in anderer Mappe - seltsames Verhalten in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo Forum, manchmal ist VBA echt zum Mäusemelken... In der Firma zickt Excel rum, und Zuhause ist der Fehler nicht wiederholbar. Im Gegenteil... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von fette Elfe, 4. Juli 2011.

  1. fette Elfe Erfahrener User

    Druckbereich per VBA in anderer Mappe - seltsames Verhalten


    Hallo Forum,

    manchmal ist VBA echt zum Mäusemelken...
    In der Firma zickt Excel rum, und Zuhause ist der Fehler nicht wiederholbar.
    Im Gegenteil sind sogar plötzlich zwei unterschiedliche Schreibweisen möglich...



    Gegeben:

    Eine Excelmappe zur Verwaltung von Palettenkonten ist geöffnet und ein Kontoauszug soll erstellt werden.
    Dazu wird mittels Makro ein Vorlagenblatt kopiert.
    Dadurch öffnet sich automatisch eine neue Mappe.
    Diese neue Mappe wird gespeichert, benannt, das Blatt wird gefüllt usw...
    Was halt alles so nötig ist.

    Und weil der Kontoauszug dann auch noch gedruckt werden soll (manuell, nicht per VBA),
    und ich es nervig finde jedes mal die Druckeinstellungen von Hand zu machen,
    wird der Druckbereich halt auch direkt per Makro definiert (immer die gleichen Spalten, nur die Zeilen variieren).

    Und genau da verstehe ich etwas nicht.



    Problem:

    Der Druckbereich wird dynamisch über Variablen ermittelt und als String übergeben.
    Zuhause haben folgende Zeilen fehlerlos geklappt:
    Code:
    ' Bereich "Druckbereich" erstellen
        strBereich = "=" & .Name & "!$A$3:$F$" & strLetzte
        .Names.Add Name:="Druckbereich", RefersTo:=strBereich
    In der Firma (auch XP und Office 2007, aber Netzwerk - Einzelplatzrechner mit Server) gabs genau dort immer eine Fehlermeldung,
    bis ich zwei Apostrophs eingefügt habe:
    Code:
    ' Bereich "Druckbereich" erstellen
        strBereich = "='" & .Name & "'!$A$3:$F$" & strLetzte
        .Names.Add Name:="Druckbereich", RefersTo:=strBereich

    Auf diese Idee bin ich auch nur gekommen, weil ich im Namensmanager einiges verglichen habe um dem Fehler auf die Spur zu kommen.
    Dort wurde der Bereich halt auch als:
    Code:
    ='Nebenblatt'!$A$3:$F$20
    und nicht als:
    Code:
    =Nebenblatt!$A$3:$F$20
    angezeigt.



    Okay, habe ich halt zwei kleine Striche mehr im Code.
    Aber jetzt Zuhause wollte ich das ganze mal testen, weil ich innerhalb der gleichen Mappe bei der Definition von Druckbereichen keinen Apostroph benötige.
    Und siehe da, bei mir Zuhause funktionieren beide Schreibweisen bisher fehlerlos, und im Namensmanager wird beides ohne Apostroph angezeigt.



    Kann sich eventuell jemand einen Reim drauf machen?



    In der angefügten Beispielmappe ist der Code aus der Original-Datei übernommen worden.
    Habe ihn nur kurz angepasst und alles drumherum weggelassen.

    Der Button "Druckbereich" definiert den Druckbereich vom "Hauptblatt".
    Der Button "Copy und Druckbereich 1" kopiert das "Nebenblatt" und definiert den Druckbereich in der Kopie, ohne Apostroph.
    Der Der Button "Copy und Druckbereich 2" macht das Gleiche, mit Apostroph.

    Die beiden angehängten Mappen sind identisch, bis auf das Dateiformat.
    Aber daran scheint es auch nicht zu liegen.
     
    fette Elfe, 4. Juli 2011
    #1
  2. miriki Erfahrener User
    Re: Druckbereich per VBA in anderer Mappe - seltsames Verhal

    Die Referenz auf einen Bereich setzt sicht grundsätzlich so zusammen:
    Code:
    ='Laufwerk+Pfad\[Dateiname]Blattname'!Zellbezug
    Sind beide Mappen gleichzeitig geöffnet, kürzt sich der Laufwerks-Teil weg:
    Code:
    ='[Dateiname]Blattname'!Zellbezug
    Bei Bezügen innerhalb der gleichen Mappe entfällt der erste Teil und es kürzt sich auf:
    Code:
    ='Blattname'!Zellbezug
    Und, völlig gewohnt, innerhalb des gleichen Blatts entfällt der nächste Teil:
    Code:
    =Zellbezug
    Die ' gehören also grundsätzlich dazu, wenn das aktuelle Blatt verlassen wird, aber... Wenn bei einem Bezug auf ein anderes Blatt der Blattname kein Leerzeichen enthält, dann kürzt Excel die ' auch noch weg. Sollte auch der Pfad und Dateiname kein Leerzeichen enthalten, bleiben die ' aber wiederum trotzdem erhalten.

    Interessant, was Du aber auch schon festgestellt hast: Die ' zu viel angeben, ist überhaupt kein Problem, weil Excel die eben ggf. wegkürzt. Sie aber nicht anzugeben, fährt gegen die Wand, wenn auf Grund eines Leerzeichens dann der Zellbezug nicht aufgelöst werden kann. Und Leerzeichen in Pfadangaben sind ja mittlerweile Gang und Gebe ('Dokumente und Einstellungen'...).

    Gruß, Michael
     
    miriki, 6. Juli 2011
    #2
  3. fette Elfe Erfahrener User
    Hallo Michael,

    mal wieder ganz lieben Dank an Dich für eine klasse Erklärung.

    *vor Kopf batsch*
    Da muss man erst mal drauf kommen.

    Vor allem, wenn in Beispielcode den man so im Netz findet die ' nicht enthalten sind, nirgendwo ein Hinweis darauf stand, und obendrein der ver..*#?+! Makrorekorder sie auch nicht ausspuckt.
    *grummel*

    Najut, dann werde ich die Strichelchen mal sicherheitshalber überall ergänzen und sie mir merken.
     
    fette Elfe, 6. Juli 2011
    #3
Thema:

Druckbereich per VBA in anderer Mappe - seltsames Verhalten

Die Seite wird geladen...
  1. Druckbereich per VBA in anderer Mappe - seltsames Verhalten - Similar Threads - Druckbereich VBA Mappe

  2. Bestimmter Druckbereich plus angehakte Zeilen mit Button drucken

    in Microsoft Excel Hilfe
    Bestimmter Druckbereich plus angehakte Zeilen mit Button drucken: Hallo zusammen. Nachdem ich nun schon intensivst Google bemüht und Freunde gefragt habe und dennoch nicht weiterkomme, hoffe ich bei Euch auf Hilfe. Ich habe eine Preisliste erstellt. Diese...
  3. VBA Druckbereich als html speichern

    in Microsoft Excel Hilfe
    VBA Druckbereich als html speichern: Hallo Leute Beim Verwalten meiner ehemaligen Schulkameraden(innen) werden Informationen auch als htm-Seiten benötigt, da sie später auf die Webseite der ehemaligen Klasse hochgeladen werden....
  4. Dynamischer Druckbereich ohne VBA

    in Microsoft Excel Hilfe
    Dynamischer Druckbereich ohne VBA: Hallo Leute, In meiner Datei soll der Druckbereich je nach Dateneingabe in der Spalte "D" angepasst werden. gedruckt werden sollen nur die Spalten A bis D von Zeile 1 bis zur letzten Zeile in der...
  5. Druckbereich per VBA festlegen

    in Microsoft Excel Hilfe
    Druckbereich per VBA festlegen: Hallo Spezialisten! Hier habe ich bisher immer schnell die richtigen Ansätze gefunden... Erneut habe ich ein Problem, wofür ich keine Lösung finde: In einer Tabelle möchte ich den Druckbereich...
  6. Dynamischer Druckbereich per VBA ?

    in Microsoft Excel Hilfe
    Dynamischer Druckbereich per VBA ?: Hi ! Ich bräuchte etwas "Code" Hilfe für ein Excel Problem Lese eine Datenbank ein die immer unterschiedlich viele Zeilen enthält. Das ganze soll jedesmal ausgedruckt werden. Soweit kein Problem....
  7. Querformat und Druckbereich in VBA festlegen

    in Microsoft Excel Hilfe
    Querformat und Druckbereich in VBA festlegen: Hallo, EXCEL XP 2002 Ich lasse per VBA eine Kopie einer Excel-Datei speichern. Der Code zum Speichern sieht in etwa so aus: ActiveWorkbook.SaveCopyAs Filename:="Laufnummer.xls" Application.Quit...
  8. Druckbereich autom. erweitern wenn neue Spalte/Zeile (VBA?)

    in Microsoft Excel Hilfe
    Druckbereich autom. erweitern wenn neue Spalte/Zeile (VBA?): Hallo Leute, ist es möglich, das sich der Druckbereich in einem AB automatisch auf neue Zeilen und/oder Spalten erweitert, nachdem darin neue Einträge vorgenommen wurden? Bestehende "Drucktitel"...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden