2016-03-23 13 views
0

Ich versuche, eine Benutzerauswahl zu verwenden, um das Zahlenformat einer Spalte innerhalb dieser Auswahl zu ändern. Das Zahlenformat, in das ich es zu ändern versuche, ist das Rechnungswesen. Der Code, den ich ausprobiert habe, ist unten.So ändern Sie das Zahlenformat einer Spalte in Vba

Dim r As Range 
Dim s As String 
s = Selection.Address(ReferenceStyle:=xlA1, RowAbsolute:=False, ColumnAbsolute:=False) 
r = Range(s).Columns("G") 
r.NumberFormat = "$#,##0.00" 

Ich weiß sicher, dass String s den richtigen String-Wert der Benutzerauswahl erhält. Den Bereich von nur Spalte G zu bekommen, scheint falsch zu sein.

+0

wollen Sie immer Spalte 'G' (die absolute Spalte G) oder haben Sie die' 7th' Spalte weg von der Benutzerauswahl zu formatieren zu formatieren, oder Sie tun Möchten Sie die gesamte Spalte der Benutzerauswahl formatieren? –

+0

Der Benutzer muss die Spalten A: n bis N: n auswählen, ich möchte nur die Spalte G: n in dieser Auswahl ändern. Es ist also wie ein Bereich innerhalb eines ausgewählten Bereichs, den ich ändern muss. Ich sollte erwähnen, dass der Wert des Bereichs r nichts ist, wenn er ausgeführt wird. –

+0

okay, also ist es die 7. Spalte von der linken Spalte im Bereich ausgewählt? (Spalte G ist 7 Spalten von Spalte A in einer Tabelle)? –

Antwort

2

Probieren Sie dies aus:

Dim rSel As Range, rCol As Range 

Set r = Selection 
If r.Columns.Count > 6 Then 'make sure there are even 7 columns 

    Set rCol = r.Columns(7) 'Columns("G") 
    rCol.NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)" 

End If 
+0

Es funktioniert nicht. rCol bekommt die richtige Spalte (Spalte 7 oder "G" in meinem Fall), aber das Zahlenformat bleibt immer gleich (was Währung ist). –

+0

@BrettComardelle - Ich habe das 'NumberFormat' verwendet, das Sie in Ihrer ursprünglichen Frage angegeben haben. Um das Buchhaltungsformat zu erhalten, sehen Sie sich meine bearbeitete Antwort für das zu verwendende Format an. –

+0

Das Format bleibt immer noch Währung. –

Verwandte Themen