Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Ausführung Selection.Borders(...)

Forumthread: Ausführung Selection.Borders(...)

Ausführung Selection.Borders(...)
Harald
Hi,
Kann mir jemand schnell bei diesem Problem helfen bitte!
Programmiere in vbs eine Excel Tabelle.
Bin beim Formatieren!
Exsheet ist meine aktuelle Excel Application!
Ausgeführter Code:
Exsheet.Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Exsheet.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Bringt fehler: Objekt erforderlich: 'Selection'
Bitte um antwort
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Ausführung Selection.Borders(...)
Nepumuk
Hallo Harald,
was ist Exsheet? Wenn das ein Worksheet ist, dann ist der Fehler klar, ein Worksheet hat keine Selection - Eigenschaft.
Gruß
Nepumuk
AW: Ausführung Selection.Borders(...)
Harald
Habe Exsheet so definiert:
Set Exsheet = WScript.CreateObject("Excel.Application") als Excel Application
Wie kann ich die Selection funktion ausführen?
VBS:
Dim Exsheet 'Excelfile
Dim Saveform 'Filename
Dim InpStr
Dim aktDate
'****************Erstellen des Filenamens***************************************
Saveform = CStr(year(date)) + "_" + CStr(month(date)) + "_Regelblatt13.xls"
'****************Datumseingabe**************************************************
InpStr = InputBox("Bitte gewünschtes Monat eingeben (MM.YYYY)!", "Monatseingabe")
aktDate = InpStr
'****************Excel file erstellen********************************************
Set Exsheet = WScript.CreateObject("Excel.Application")
'****************Excel File Visible schalten*************************************
Exsheet.Visible = TRUE
'****************Arbeitsmappe erstellen******************************************
Exsheet.WorkBooks.Add
'****************Tabellenblatt erstellen*****************************************
Exsheet.Worksheets.Add
'****************Tabellen umbenennen*********************************************
Exsheet.Worksheets(1).Name = "Blatt 1"
Exsheet.Worksheets(2).Name = "Blatt 2"
Exsheet.Worksheets(3).Name = "Blatt 3"
Exsheet.Worksheets(4).Name = "Blatt 4"
'++++++++++++++++Blatt 1 einrichten++++++++++++++++++++++++++++++++++++++++++++++
'****************Außenrand erstellen*********************************************
Exsheet.Range("A1:U42").Select
Exsheet.Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Exsheet.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Wie gehts sonst?
Anzeige
AW: Ausführung Selection.Borders(...)
Nepumuk
Hallo Harald,
es hat etwas gedauert, bis ich den Code zum laufen brachte. So geht's:
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Eine Zeile darunter machst du es doch richtig. Warum der Aussetzer? Aber das löschen eines Rahmens in einer neu erstellten Tabelle ist meiner Meinung nach sowieso überflüssig.
Gruß
Nepumuk
Anzeige
AW: Ausführung Selection.Borders(...)
Harald
Habe es probiert es funktioniert nicht!
Unten der Teilcode:
Fehler: Objekt erforderlich 'Selection'
Set Exsheet = WScript.CreateObject("Excel.Application")
Exsheet definition
Exsheet.Range("A1:U42").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Hoffe du kannst mir weiterhelfen!
mfg
Harald
Anzeige
;
Anzeige

Infobox / Tutorial

Fehlerbehebung bei Selection.Borders in Excel VBA


Schritt-für-Schritt-Anleitung

  1. Excel-Anwendung erstellen: Zuerst musst du eine Excel-Anwendung in deinem VBS-Skript erstellen:

    Set Exsheet = WScript.CreateObject("Excel.Application")
    Exsheet.Visible = TRUE
  2. Arbeitsmappe und Tabellenblätter hinzufügen:

    Exsheet.WorkBooks.Add
    Exsheet.Worksheets.Add
  3. Bereich auswählen: Um die Formatierung anzuwenden, wähle einen Bereich aus:

    Exsheet.Range("A1:U42").Select
  4. Bordereinstellungen anwenden: Nutze die Borders-Eigenschaft, um die gewünschten Linien zu formatieren:

    With Exsheet.Selection.Borders(xlEdgeLeft)
       .LineStyle = xlContinuous
       .Weight = xlMedium
       .ColorIndex = xlAutomatic
    End With
  5. Fehlervermeidung: Stelle sicher, dass du die korrekten Objekte verwendest und nicht einfach die Selection-Eigenschaft ohne das vorherige Setzen eines gültigen Bereichs anwendest.


Häufige Fehler und Lösungen

  • Fehler: Objekt erforderlich 'Selection': Dieser Fehler tritt auf, wenn der selektierte Bereich ungültig ist. Stelle sicher, dass du einen gültigen Bereich auswählst, bevor du Selection.Borders verwendest.

  • Falsche Verwendung von Exsheet.Selection: In VBS ist Exsheet die Excel-Anwendung. Du solltest stattdessen direkt auf den Bereich zugreifen:

    Exsheet.Range("A1:U42").Borders(xlDiagonalDown).LineStyle = xlNone

Alternative Methoden

Anstatt Selection.Borders zu verwenden, kannst du die Borders-Eigenschaft direkt auf den Range-Objekt anwenden:

With Exsheet.Range("A1:U42").Borders
    .LineStyle = xlContinuous
    .Weight = xlMedium
    .ColorIndex = xlAutomatic
End With

Diese Methode ist klarer und vermeidet mögliche Fehler mit der Selection.


Praktische Beispiele

Hier ein vollständiges Beispiel, wie du die Borders-Eigenschaft in einem VBS-Skript anwendest:

Set Exsheet = WScript.CreateObject("Excel.Application")
Exsheet.Visible = TRUE
Exsheet.WorkBooks.Add
Exsheet.Worksheets.Add
Exsheet.Range("A1:U42").Select

With Exsheet.Range("A1:U42").Borders
    .LineStyle = xlContinuous
    .Weight = xlMedium
    .ColorIndex = xlAutomatic
End With

Dieses Skript erstellt eine neue Excel-Anwendung, fügt ein Arbeitsblatt hinzu und wendet die Bordereinstellungen auf den angegebenen Bereich an.


Tipps für Profis

  • Verwendung von Konstanten: Stelle sicher, dass du die richtigen VBA-Konstanten wie xlContinuous, xlMedium und xlAutomatic verwendest, um die Bordereigenschaften festzulegen.

  • Minimiere die Verwendung von Selection: Direkte Referenzen auf die Range-Objekte sind effizienter und verringern die Möglichkeit von Fehlern.

  • Fehlerbehandlung einbauen: Verwende On Error Resume Next, um ungünstige Fehler abzufangen und das Skript robuster zu machen.


FAQ: Häufige Fragen

1. Warum funktioniert mein Code nicht, wenn ich Selection.Borders verwende?
Das Problem liegt häufig daran, dass Selection nicht auf ein gültiges Objekt verweist. Stelle sicher, dass du einen Bereich auswählst, bevor du die Borders-Eigenschaft verwendest.

2. Wie kann ich die Rahmenlinien für einen bestimmten Bereich entfernen?
Verwende den folgenden Code, um die Rahmenlinien zu entfernen:

Exsheet.Range("A1:U42").Borders.LineStyle = xlNone

3. Was sind die gängigsten Bordereigenschaften in VBA?
Zu den gängigsten Eigenschaften gehören LineStyle, Weight und ColorIndex. Diese kannst du benutzen, um die Darstellung der Rahmenlinien zu steuern.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige