Herbers Excel-Forum - das Archiv

Makro Hilfe

Bild

Betrifft: Makro Hilfe
von: Dirk

Geschrieben am: 14.12.2006 14:21:15
Hallo ihr,
ich benötige euer Fachwissen.
Ich habe folgendes Makro mit Hilfe einiger von euch:
Sub KUBOSanzeigen()
Dim wks1 As Worksheet
Dim wks2 As Worksheet
Set wks1 = ThisWorkbook.Worksheets(1)
Set wks2 = ThisWorkbook.Worksheets(3)
sWert = wks1.Range("A3").Value
With wks2.UsedRange
Set c = .Find(sWert, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
c.Interior.Pattern = xlPatternRed
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
Sheets("Bonus").Select
End 
Sub
Jetzt würde ich gerne, dass bei dem Wechsel des Arbeitsblattes auch automatisch in die Zeile gesprungen wird in der der Wert von A3 steht.
Geht das?
Bild

Betrifft: AW: Makro Hilfe
von: lueckii

Geschrieben am: 14.12.2006 15:06:11
Hallo Dirk!
Sheets("Bonus").Select
With Sheets("Bonus")
Z = .find(What:=sWert, LookIn:=xlValues)
Zeile = Z.row
Sheets("Bonus").Range("A" & Zeile).Select
End Sub
Hoffe das funktioniert. Ei´nfach in deinen Code einfügen.
Vielleicht vorher noch
Dim Z as Range
Dim Zeile as Single
Gruß Martin
Bild

Betrifft: AW: Makro Hilfe
von: Dirk
Geschrieben am: 14.12.2006 16:24:08
Wo genau oder wie füge ich das ein???
Bin ehr der Anfänger...
Bild

Betrifft: AW: Makro Hilfe
von: lueckii

Geschrieben am: 15.12.2006 09:43:21
Hallo Dirk!
Ich habs dir mal so eingefügt. Sollte es nicht funktionieren, dann lad doch mal ne bsp-datei hoch.
Sub KUBOSanzeigen()
Dim wks1 As Worksheet
Dim wks2 As Worksheet
Dim Z as Range
Dim Zeile as single
Set wks1 = ThisWorkbook.Worksheets(1)
Set wks2 = ThisWorkbook.Worksheets(3)
sWert = wks1.Range("A3").Value
With wks2.UsedRange
Set c = .Find(sWert, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
c.Interior.Pattern = xlPatternRed
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
Sheets("Bonus").Select
With Sheets("Bonus")
Z = .find(What:=sWert, LookIn:=xlValues)
Zeile = Z.row
End with
Sheets("Bonus").Range("A" & Zeile).Activate
End 
Sub
Gruß Martin

Bild

Betrifft: AW: Makro Hilfe
von: Dirk
Geschrieben am: 15.12.2006 10:28:18
Hi,
Fehler beim Kompilieren sagt er mir...(Außerhalb einer Prozedur ungültig)
Das sagt Excel beim Set wks1.
Beste Grüße
Dirk
Bild

Betrifft: AW: Makro Hilfe
von: Dirk
Geschrieben am: 15.12.2006 10:48:06
Das obige Problem ist keins mehr, allerdings macht diese Zeile jetzt Probleme:
Z = .Find(What:=sWert, LookIn:=xlValues)
Gruß
Bild

Betrifft: AW: Makro Hilfe
von: lueckii

Geschrieben am: 15.12.2006 15:41:29
Hallo Dirk!
Ist wks2 bei dir das sheet "Bonus"?
Wenn ja dann gehts vielleicht so
Sub KUBOSanzeigen()
Dim wks1 As Worksheet
Dim wks2 As Worksheet
Set wks1 = ThisWorkbook.Worksheets(1)
Set wks2 = ThisWorkbook.Worksheets(3)
Dim firstaddress as string
sWert = wks1.Range("A3").Value
With wks2
Set c = .Find(sWert, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
End if
End with
wks2.Range(firstaddress).Activate
End Sub

Gruß Martin
Bild

Betrifft: AW: Makro Hilfe
von: lueckii

Geschrieben am: 15.12.2006 15:43:34
Hallo Dirk!
Ist wks2 bei dir das sheet "Bonus"?
Wenn ja dann gehts vielleicht so
Sub KUBOSanzeigen()
Dim wks1 As Worksheet
Dim wks2 As Worksheet
Dim c as Range
Dim firstaddress as String
Set wks1 = ThisWorkbook.Worksheets(1)
Set wks2 = ThisWorkbook.Worksheets(3)
Dim firstaddress as string
sWert = wks1.Range("A3").Value
With wks2   (oder wks2.Range("A1:deine letzte Zelle"))
Set c = .Find(sWert, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
End if
End with
wks2.Range(firstaddress).Activate
End Sub

Gruß Martin
 Bild