Spaltenname per VBA vergeben
08.04.2015 11:39:47
BenneW
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