Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
480to484
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
480to484
480to484
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

kurze frage zur spaltenüberschrift in vba

kurze frage zur spaltenüberschrift in vba
05.09.2004 23:01:22
bernd
hallo zusammen,
ich habe eine kurze frage:
wenn ich in spalte A1 schreibe: =Spalte(AI3), erhalte ich 35
kann ich nun im vba auch erreichen, dass er in A1 ="AI" schreibt statt 35 ?
vg
bernd

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
spaltenüberschrift per Worksheet_Change ändern
Beate
Hallo Bernd,
füge dieses Makro ins Codefenster der Tabelle, wenn AI3 sich ändert, springt der Wert in A1 entsprechend um:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$AI$3" Then
Cells(1, 1).Value = Target.Value
End If
End Sub

Gruß,
Beate
AW: spaltenüberschrift per Worksheet_Change ändern
Udo
Bravo, du steigerst dich!
Udo
da habe ich mich mißverständlich ausgedrückt...
bernd
...
ich habe gerade folgende formel:
...
j=35
sheets("tabelle").range("a1".value = COLUMN(j)
hier soll nun in a1 nicht 35 sondern AI stehen...
AW: da habe ich mich mißverständlich ausgedrückt...
Bert

Sub Spalte()
Dim j As Integer, SB As String
j = 35
If j < 27 Then
SB = Left(Columns(j).Address(0, 0), 1)
Else
SB = Left(Columns(j).Address(0, 0), 2)
End If
[a1] = SB
End Sub

Bert
Anzeige
Spalte auslesen
Beate
Hallo Bernd,
ich habe eine Funktion, die gibt den Spaltenbuchstaben zurück.
Also steht in A1 = ColumnLetter(35) wird AI zurückgegeben.
Es geht natürlich auch dynamischer, wenn die 35 z.B. aus Zelle B1 kommt, dann
A1 = ColumnLetter(B1)
Vielleicht hilft dir die Funktion bei den Überlegungen zu deinem Makro, es müssen nämlich Kriterien beachtet werden, wenn es über Spalte Z (=Spalte26) hinaus geht, weil ja dann 2 Buchstaben kombiniert werden müssen:

Function ColumnLetter(ColumnNumber As Integer) As String
If ColumnNumber > 26 Then
' 1st character:  Subtract 1 to map the characters to 0-25,
'                 but you don't have to remap back to 1-26
'                 after the 'Int' operation since columns
'                 1-26 have no prefix letter
' 2nd character:  Subtract 1 to map the characters to 0-25,
'                 but then must remap back to 1-26 after
'                 the 'Mod' operation by adding 1 back in
'                 (included in the '65')
ColumnLetter = Chr(Int((ColumnNumber - 1) / 26) + 64) & _
Chr(((ColumnNumber - 1) Mod 26) + 65)
Else
' Columns A-Z
ColumnLetter = Chr(ColumnNumber + 64)
End If
End Function

Gruß,
Beate
Anzeige
danke beate, es funktioniert super
bernd
mit der routine *freu*
super vielen dank
bernd
:-)

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige