Anzeige
Archiv - Navigation
1428to1432
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
VBA Select Case
04.06.2015 16:06:33
WalterK
Hallo,
der folgende Codeteil soll Überschriften in Zeile 1 vergleichen und falls gefunden die Spalte ab Zelle 2 formatieren.
Allerdings werden die 3 Zeilen ab ".TextTocolumns ...." gelb unterlegt, die Fehlermeldung lautet: Laufzeitfehler 438: Objekt unterstützt diese Eigenschaft oder Methode nicht.
Der Code läuft in einem allgemeinen Modul, wksPool ist der Blattname.
    Dim blnTTC As Boolean
Dim i As Long
For i = 1 To wksPool.Cells(1, Columns.Count).End(xlToLeft).Column
With Range(wksPool.Cells(1, i), wksPool.Cells(LzA, i))
Select Case wksPool.Cells(1, i)
Case "Kontobeginn", "Kontoende"
.NumberFormat = "m/d/yyyy"
.HorizontalAlignment = xlCenter
blnTTC = True
End Select
If blnTTC Then
If Application.WorksheetFunction.CountA(wksPool.Cells) > 0 Then
.TextToColumns Destination:=wksPool.Cells(2, i), _
TextQualifier:=xlDoubleQuote, Tab:=True, _
Other:=False, FieldInfo:=.Array(1, 1)
End If
blnTTC = False
End If
End With
Next i
Besten Dank für die Hilfe und Servus, Walter

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Select Case
04.06.2015 17:28:13
Daniel
Hi
der Punkt Bei "FieldInfo:=.Array(1, 1)" ist zuviel und muss weg.
da du in einer WITH-Klammer bist, sagt dieser Punkt aus, dass Array ein Unterobjekt oder eine eine Eigenschaft des in der WITH-Klammer definierten Objekts sein soll. Das trifft hier aber nicht zu, "Array" ist aber eine eigenständige Funktion.
Gruß Daniel

AW: VBA Select Case
04.06.2015 18:04:32
WalterK
Hallo Daniel,
wenn ich den Punkt weg nehme kommt die Meldung:
Laufzeitfehler 1004.
Zielbezug ist ungültig
Danke uns Servus, Walter

AW: VBA Select Case
04.06.2015 18:31:42
Daniel
HI
ich gehe mal davon aus, dass du mit dem Text in Spalten Textzahlen in echte Zahlen wandeln willst und daher die angegebenen Zellbereiche mit dem Ergebnis überschrieben werden sollen.
Dann musst du bei Destination die linke obere Zelle es Bereichs angeben.
Du versetzt aber den Zielbereich um eine Zeilen nach unten (Zeile 2 statt Zeile 1) und das kann nicht funktionieren und ist auch nicht sinnvoll.
dh entweder:
Destination:=wksPool.Cells(1, i)
oder weil du ja in der WITH-Klammer den Quellbereich schon definert hast, kannst du auch das Ziel inabhängigkeit von diesem angeben und die ober Linke Zelle dieses Bereichs angeben:
Destination:=.Cells(1, 1)
Gruß Daniel

Anzeige
AW: VBA Select Case
04.06.2015 19:07:26
WalterK
Hallo Daniel,
besten Dank!
Destination:=wksPool.Cells(1, i) hat geholfen.
Servus, Walter

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige