Herbers Excel-Forum - das Archiv

Objektvariable/With-Blockvariable nicht festgelegt

Bild

Betrifft: Objektvariable/With-Blockvariable nicht festgelegt
von: tom

Geschrieben am: 19.03.2005 14:46:07
Hallo Freunde,
bekomme o.g. Fehlermeldung.
Ich bastele gerade an einem Sortieren-Makro, das so ausschaut.
Sub Daten_sortieren()
Call ScreenAus
Range("A1").Select
Name1:
Columns("A:A").Select
Selection.Find(What:="Name", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
' Wenn "Name" nicht gefunden, dann gehe zur Sprungmarke "Company1"
' ansonsten gehe zur Sprungmarke "Name2":
If Selection.Find(What:="Name", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False) Is Nothing Then
GoTo Company1
Else
GoTo Name2
End If
Name2:
ActiveCell.ClearContents
' 2 Zellen nach unten springen:
ActiveCell.Offset(3, 0).Select
Selection.Copy
' In nächste freie Zelle der Spalte D springen:
Sheets("Nokia").Cells(Rows.Count, 4).End(xlUp)(2, 1).Select
ActiveSheet.Paste
Application.CutCopyMode = False
GoTo Name1
Company1:
Columns("A:A").Select
Selection.Find(What:="Company", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
If Selection.Find(What:="Company", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False) Is Nothing Then
GoTo JobTitle1
Else:
GoTo Company2
End If
Company2:
ActiveCell.ClearContents
ActiveCell.Offset(3, 0).Select
Selection.Copy
Sheets("Nokia").Cells(Rows.Count, 9).End(xlUp)(2, 1).Select
ActiveSheet.Paste
Application.CutCopyMode = False
GoTo Company1
JobTitle1:
Range("A1").Select
Call ScreenAn
End Sub

Wieso bekomme ich die Fehlermeldung. Welche Variable habe ich nicht
festgelegt?
Vielen Dank für Eure Zeit,
tom
Bild

Betrifft: AW: Objektvariable/With-Blockvariable nicht festge
von: Ramses

Geschrieben am: 19.03.2005 15:00:31
Hallo
Korrekterweise muss es so heissen.
Die Excel-Fehlermeldung ist daher etwas irreführend
Option Explicit
Sub Daten_sortieren()
Call ScreenAus
Range("A1").Select
Name1:
Columns("A:A").Select
' Wenn "Name" nicht gefunden, dann gehe zur Sprungmarke "Company1"
' ansonsten gehe zur Sprungmarke "Name2":
If Selection.Find(What:="Name", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False) Is Nothing Then
GoTo Company1
Else
GoTo Name2
End If
Name2:
ActiveCell.ClearContents
' 2 Zellen nach unten springen:
ActiveCell.Offset(3, 0).Select
Selection.Copy
' In nächste freie Zelle der Spalte D springen:
Sheets("Nokia").Cells(Rows.Count, 4).End(xlUp)(2, 1).Select
ActiveSheet.Paste
Application.CutCopyMode = False
GoTo Name1
Company1:
Columns("A:A").Select
If Selection.Find(What:="Company", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False) Is Nothing Then
GoTo JobTitle1
Else:
GoTo Company2
End If
Company2:
ActiveCell.ClearContents
ActiveCell.Offset(3, 0).Select
Selection.Copy
Sheets("Nokia").Cells(Rows.Count, 9).End(xlUp)(2, 1).Select
ActiveSheet.Paste
Application.CutCopyMode = False
GoTo Company1
JobTitle1:
Range("A1").Select
Call ScreenAn
End Sub

Gruss Rainer
Bild

Betrifft: AW: Objektvariable/With-Blockvariable nicht festge
von: tom

Geschrieben am: 19.03.2005 16:36:10
Hallo Rainer,
vielen Dank für Deine Hilfe. Indem ich "Option Explicit" hinzufügte, hängt sich
die Datei (nicht ganz Excel) weg. War einen Versuch wert.
Nepumuk wird wohl recht haben, wenn er sagt, daß ich
Selection.Find(What:="Name", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
nicht in einem Makro verwenden kann.
Herzliche Grüße,
tom
Bild

Betrifft: AW: Objektvariable/With-Blockvariable nicht festge
von: Ramses

Geschrieben am: 19.03.2005 18:11:45
Hallo
"... hängt sich die Datei (nicht ganz Excel) weg..."
Dann solltest du mal neu installieren, denn dass ist nur eine Sicherheitsanweisung, damit alle Variablen deklariert werden müssen. Sonst nichts.
"... Nepumuk wird wohl recht haben, wenn er sagt, daß ich ... nicht in einem Makro verwenden kann...."
Du bist ein kleiner Scherzbold,.. gelle :-)
Hast du dir meinen Code eigentlich mal angeschaut :-((
Wohl eher nicht, und ausprobiert auch nicht.
Das was Nepumuk dir vorgeschlagen hat, habe ich mit dem Code bereits gemacht.
Gruss Rainer
Bild

Betrifft: AW: Objektvariable/With-Blockvariable nicht festge
von: tom

Geschrieben am: 19.03.2005 19:03:33
Hallo Rainer,
doch doch, ich hatte mir den Code schon angeschaut und obwohl ich, weil noch
relativer Anfänger, die Änderungen nicht entdeckt habe, habe ich Deinen gesamten
Code in die Zwischenablage kopiert und in Excel eingefügt. Dann hängte sich die
Datei weg. Ich mache es nochmal und ich schaue noch mal genau hin.
Vielen Dank für Deine Mühe!
tom
Bild

Betrifft: AW: Objektvariable/With-Blockvariable nicht festgelegt
von: Nepumuk

Geschrieben am: 19.03.2005 15:03:13
Hallo Tom,
wenn du das:
Selection.Find(What:="Name", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
in einem Makro verwendest und der Begriff wird nicht gefunden, dann erzeugst du diese Fehlermeldung. Das ganze stammt aus einem aufgezeichneten Makro und kann so nicht verwendet werden. Frag mal deinen Office-Assistenten nach der "Find-Methode". Da ist ein Beispiel dabei.
Gruß
Nepumuk
Bild

Betrifft: AW: Objektvariable/With-Blockvariable nicht festgelegt
von: tom

Geschrieben am: 19.03.2005 16:42:51
Hallo Nepumuk,
vielen Dank für Deine Hilfe. Ja, Du hast natürlich Recht: Der fehlerverursachende
Passus ist tatsächlich mit dem Makrorekorder entstanden. Ich bin halt ein echter
Anfänger.
Die Excel-Hilfe habe ich weisungsgemäß bemüht und da folgendes gefunden:
=FINDEN("M";A2)
Ist es das, was Du meintest?
Wenn ja: Die Formel sagt mir, an welcher Stelle sich das M
in der Zelle A2 befindet, was nicht das ist, was ich brauche.
Ich brauche einen Befehl, der dazu führt, das ein Text in einer Zelle
aufgespürt wird und die Zelle dann angewählt ist.
Wenn nein: Was kann ich denn für einen Befehl verwenden?
Herzliche Grüße,
tom
Bild

Betrifft: AW: Objektvariable/With-Blockvariable nicht festgelegt
von: Nepumuk

Geschrieben am: 19.03.2005 16:54:19
Hi Tom,
nein, FINDEN ist ein Formel mit der nach Zeichen in einer Zelle gesucht werden kann. Du musst im VBA-Editor den Assi nach Find-Methode fragen.
Userbild

Gruß
Nepumuk
 Bild
Excel-Beispiele zum Thema "Objektvariable/With-Blockvariable nicht festgelegt"
Anzahl der über ParamArray festgelegten Parameter Markieren von festgelegten Bereichen