Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1416to1420
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
Inhaltsverzeichnis

Spaltenname per VBA vergeben

Spaltenname per VBA vergeben
08.04.2015 11:39:47
BenneW
Hallo,
ich habe vor ein paar Tagen angefangen, mich in VBA einzulesen und habe deshalb nur Grundkenntnisse. Generelle Programmierkenntnisse in C habe ich aber...
Mein Problem:
Ich habe ein Tabellenblatt, dessen Namen ich kenne.
In diesem Tabellenblatt befinden sich Datensätze. Die einzelnen Attribute sind spaltenweise sortiert. Sprich in Spalte A steht bei allen zB die Nummer und in Spalte B bei allen der Name.
Bei dem Importieren dieser Daten in das Tabellenblatt weiß ich zwar, welche Spalten es alles gibt, ich weiß aber nicht, in welcher Spalte sich welches Attribut befindet. Es kann also sein, dass der Name einmal in Spalte B steht und das nächste Mal in Spalte F.
Deshalb durchsuche ich die erste Zeile nach dem gesuchten Attribut (Hier jetzt "Customer Ref ID"). Habe ich es gefunden, möchte ich die gesamte Spalte den Namen geben "Customer Ref ID", so dass ich diese später direkt mit dem Namen ansprechen kann.
Leider funktioniert das bei mir nicht so, wie es soll...
Könnt ihr mir helfen?
Mein Tabellenblatt heißt immer "Export"
Hier mein Code:
Public Sub Import()
Dim sr As Double 'Laufvariable zum Durchlaufen der Spalten
For sr = 1 To 30 'Abgleich der ersten 30 Spalten um Customer Ref ID zu finden
If (Worksheets("Export").Cells(1, sr).Value) = "Customer Ref ID" Then
Worksheets("Export").Columns(sr).Name = "Customer Ref ID"
Exit For
End If
Next sr
Wenn ich nun den benannten Bereich ansprechen und (testweise) die gesamte Spalte einfärben möchte, geht das leider nicht:
Worksheets("Export").Range("Customer Ref ID").Interior.ColorIndex = 6
Um Rat wäre ich sehr dankbar!
Viele Grüße
Benne

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spaltenname per VBA vergeben
08.04.2015 11:49:42
BenneW
Hallo,
hat sich erledigt...
Habe den Fehler gefunden: Der Name für den Bereich darf keine Leerzeichen enthalten.
Die Fehlermeldung erschien nur nie, wenn ich das per VBA gemacht habe... :-(
Viele Grüße
Benne

AW: Spaltenname per VBA vergeben
08.04.2015 13:43:09
fcs
Hallo Benne,
ich hatte mich deinem Problem jetzt auch ein wenig beschäftigt.
Du solltest dein Makro etwa wie folgt aufbauen zur Festlegung der Namen und zum Bearbeiten/Formatieren der Spalten mit Namen.
Gruß
Franz
Public Sub Import()
Dim sr As Long 'Laufvariable zum Durchlaufen der Spalten
Dim wkbExport As Workbook, wksExport As Worksheet
Dim strName As String, objName As Name
Set wkbExport = ActiveWorkbook
Set wksExport = wkbExport.Worksheets("Export")
'Den Spalten Namen zuweisen
With wksExport
For sr = 1 To 30 'Abgleich der ersten 30 Spalten um Customer Ref ID zu finden
strName = ""
Select Case .Cells(1, sr).Value
Case "Customer Ref ID"
strName = "Customer_Ref_ID"
Case "Customer Name"
strName = "Customer_Name"
Case "xyz"
strName = "XYZ"
End Select
If strName  "" Then
.Columns(sr).Name = strName
End If
Next sr
End With
'Spalten mit bestimmten Namen formatieren
For Each objName In wkbExport.Names
Select Case objName.Name
Case "Customer_Ref_ID", "Custommer_Name"
With objName.RefersToRange
.Interior.ColorIndex = 6
End With
Case "AAAA"
With objName.RefersToRange
With .Borders
.LineStyle = xlContinuous
.Weight = xlThin
End With
End With
Case Else
'do nothing
End Select
Next objName
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige