Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
940to944
940to944
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Anwendungs- oder objektori. Fehler

Anwendungs- oder objektori. Fehler
21.01.2008 12:56:00
Bea
Hallo!
Da ich relativ am Ende meines Lateins bin und langsam "betriebsblind" werde, versuche ich es jetzt mal hier mit eurer Hilfe!
Ich schreibe gerade ein Macro mit dem ich aus einer Tabelle bestimmte "Überschriften" suchen kann und von denen ich die Spaltennummer auslesen will. Diese kann immer unterschiedlich sein, da die Spalten variieren. Der Fehler läuft immer auf ein anwendungs- oder objektorientiertes Problem hinaus und ich weiß nun nicht mehr weiter, da ich alle Möglichkeiten ausprobiert habe, diese Zelle zu aktivieren.
Nachfolgend steht der Code:

Sub SpaltennummernKopf()
Workbooks("Kopfdaten.xls").Activate
Worksheets("Tabelle1").Activate
Range("A1").Select 'hier hackts
'letzte Spalte finden
letzteSpalte = Range("A1").End(xlToRight).Column
'Spalte auswählen
Range(Cells(1, letzteSpalte), Cells(1, letzteSpalte)).Select
'Bereich durchsuchen und Wert ausgeben
Zeile = Sheets("Tabelle1"). _
UsedRange.SpecialCells(xlCellTypeLastCell).Row
For Suchen = 1 To letzteSpalte
If Cells(1, Suchen) = "Regulierer" Then
MsgBox Suchen
End If
Next Suchen
End Sub


Vielen lieben Dank schonmal im Voraus für die Hilfe!

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

Betreff
Datum
Anwender
Anzeige
AW: Anwendungs- oder objektori. Fehler
21.01.2008 13:01:41
Hajo_Zi
Hallo Bea,
in VBA kann zu 99,9% auf select usw. verzichtet werden.
Lösche die Zeile und Range(Cells(1, letzteSpalte), Cells(1, letzteSpalte)).Select da nirgens auf die Selection Bezug genommen wird.

AW: Anwendungs- oder objektori. Fehler
21.01.2008 13:18:00
Renee
Hi Bea,
Das kannst Du auch billiger haben:

Sub SpaltennummernKopf()
Const tSuchbegriff = "Regulierer"
Const tThisWorkbook = "Kopfdaten"
Const tThisWorksheet = "Tabelle1"
Dim rThisRange As Range
Dim iSpalte As Integer
Set rThisRange = Workbooks(tThisWorkbook).Sheets(tThisWorksheet).Rows(1)
On Error Resume Next
iSpalte = Application.WorksheetFunction.Match(tSuchbegriff, rThisRange, 0)
MsgBox IIF(iSpalte=0,"Nix gefunden","Gefunden in Spalte " & iSpalte)
End Sub


GreetZ Renée

Anzeige
AW: Anwendungs- oder objektori. Fehler
21.01.2008 13:19:00
Rudi
Hallo,
das packst du sinnvollerweise in eine Function.

Function SpaltenNummer(wks As Worksheet, txt As String)
Dim tmp
tmp = Application.Match(txt, wks.Rows(1), 0)
If Not IsError(tmp) Then
SpaltenNummer = tmp
Else
SpaltenNummer = "Nicht vorhanden"
End If
End Function



Sub tt()
MsgBox SpaltenNummer(Workbooks("Mappe6").Sheets("Tabelle1"), "Regulierer"), , "Spaltennummer" _
End Sub


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: Anwendungs- oder objektori. Fehler
21.01.2008 13:43:00
Bea
Vielen Dank für die schnelle Antworten!
Hajo: Nach deinem Tipp hat es dann doch geklappt! Und das mit "Select" werde ich mir merken ;)!
Rudi und Renee: Auch bei euch bedanke ich mich für den Code und die Mühe. Ich werde mich auf jeden Fall damit auseinandersetzen, da es wesentlich "schlanker" aussieht, als meiner und funktioniert ;).
Als Neuling achtet man nicht so auf schlanken, einfachen Code ;)
Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige