Microsoft Excel

Herbers Excel/VBA-Archiv

VBA Zeilenwert finden + Zeilennummer ausgeben

Betrifft: VBA Zeilenwert finden + Zeilennummer ausgeben von: Dominic
Geschrieben am: 02.10.2014 08:43:41

Hi,
mit dem folgenden Skript möchte ich in Spalte Z1 bis Z200 den Wert 1 finden. Wenn Excel den Wert gefunden hat und die Zeilennummer in die Zelle G9 einträgt/ausgiebt.

Bei der folgenden Version erhalte ich aber immer eine Fehlermeldung ("Laufzeitfehler 1004, objektdefinierter Fehler") und weiß absolut nicht woran es liegt.


Dim ZeileAngabe As Long

ZeileAngabe = Columns("Z1:Z200").Find(what:=1, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SerchFormat:=False).Row

Range("G9").Value = ZeileAngabe

  

Betrifft: AW: VBA Zeilenwert finden + Zeilennummer ausgeben von: hary
Geschrieben am: 02.10.2014 09:00:21

Moin

Dim ZeileAngabe As Range
 Set ZeileAngabe = Range("Z1:Z200").Find(what:=1, LookIn:=xlValues, LookAt:=xlWhole,  _
SearchOrder:=xlByRows, SearchDirection:=xlNext)
   Range("G9").Value = ZeileAngabe.Row

gruss hary


  

Betrifft: AW: VBA Zeilenwert finden + Zeilennummer ausgeben von: Dominic
Geschrieben am: 02.10.2014 09:36:18

Danke Hary,

funktioniert. Kann ich bei der Zeilenangabe noch den Wert 14 abziehen?

Habs mit:

ZeileAngabe = ZeileAngabe - 14

versucht, funktioniert so einfach aber nicht.


  

Betrifft: AW: VBA Zeilenwert finden + Zeilennummer ausgeben von: hary
Geschrieben am: 02.10.2014 09:39:17

Moin

Range("G9").Value = ZeileAngabe.Row - 14 

gruss hary


  

Betrifft: AW: VBA Zeilenwert finden + Zeilennummer ausgeben von: Dominic
Geschrieben am: 02.10.2014 09:49:36

Hi Hary,

Funktioniert nicht - Laufzeitfehler 91, Objektvariable oder With Blockvariable nicht festgelegt.


  

Betrifft: AW: VBA Zeilenwert finden + Zeilennummer ausgeben von: Dominic
Geschrieben am: 02.10.2014 09:52:08

Bin verwirrt, dein vorheriger Code der funktionierte und die entsprechende Zelle in G9 ausgab:

Dim ZeileAngabe As Range
Set ZeileAngabe = Range("Z1:Z200").Find(what:=1, LookIn:=xlValues, LookAt:=xlWhole, _
SearchOrder:=xlByRows, SearchDirection:=xlNext)
Range("G9").Value = ZeileAngabe.Row

Funktioniert nun auch nicht mehr so. Es erscheint auch die Fehlermeldung 91....


  

Betrifft: AW: VBA Zeilenwert finden + Zeilennummer ausgeben von: hary
Geschrieben am: 02.10.2014 09:58:45

Moin
Da der Bereich nicht im aktiven Blatt liegt. Du musst das Blatt referenzieren.

Dim ZeileAngabe As Range
With Worksheets("Tabelle1") ' Blattname anpassen
 Set ZeileAngabe = .Range("Z1:Z200").Find(what:=1, LookIn:=xlValues, LookAt:=xlWhole,  _
SearchOrder:=xlByRows, SearchDirection:=xlNext)
  If Not ZeileAngabe Is Nothing Then
   .Range("G9").Value = ZeileAngabe.Row
   ZeileAngabe = ZeileAngabe - 14
  End If
End With

gruss hary


  

Betrifft: AW: VBA Zeilenwert finden + Zeilennummer ausgeben von: Dominic
Geschrieben am: 02.10.2014 11:08:23

Hi Hary,

die Korrekte Zeile wird ausgegeben, die "-14" wird aber gar nicht berücksichtigt. Egal wie ich es versuche umzuändern, es wird immer Zeile 179 ausgegeben (was wie bereits erwähnt korrekt ist, da hier der gesuchte Wert steht, aber diese Zeile muss noch mit 14 subtrahiert werden...

Kannst du mir bitte nochmal weiterhelfen?


  

Betrifft: AW: VBA Zeilenwert finden + Zeilennummer ausgeben von: yummi
Geschrieben am: 02.10.2014 11:42:35

Hallo Hary,

wenn du die Zeile abziehen willst musst du das auch für die zeile machen und nicht für den gesamten range

ZeileAngabe.row = ZeileAngabe.row - 14 oder wenn dir das reinschreiben reicht weil du mit dem range nix machen willst

.Range("G9").Value = ZeileAngabe.Row -14


Gruß
yummi


  

Betrifft: statt Columns... Range("Z1:Z200") ? owT von: robert
Geschrieben am: 02.10.2014 09:02:38




 

Beiträge aus den Excel-Beispielen zum Thema "VBA Zeilenwert finden + Zeilennummer ausgeben"