VBA Mehrere Worksheets ansprechen

Bild

Betrifft: VBA Mehrere Worksheets ansprechen
von: Karl
Geschrieben am: 12.03.2005 17:02:35
Hi,
Ich bin noch nicht solange am VBA programmieren und hätte eine Frage brzüglich des Ansprechens von Worksheets. Im Moment funktioniert die Scleife nur wenn ich mich in dem besagten Worksheet befinde (Comp1). Da ich aber mehrere Worksheets (Comp1, Comp2 , comp & m) ansprechen möchte habe ich folgende Funktion geschrieben:

Dim i As Integer
Dim m As Integer
m = 1
i = 1
For m = 1 To 2
For i = 1 To 20

Worksheets("Comp" & m).Cells.Find(What:=Worksheets("Sheet2").Range("a" & 4 + i), After:=ActiveCell, LookIn _
:=xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:= _
xlNext, MatchCase:=True, SearchFormat:=False).Activate

ActiveCell.Offset(1, 0).Replace What:=ActiveCell.Offset(1, 0), Replacement:=Worksheets("Sheet2").Range("B" & 4 + i), _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:= _
False, ReplaceFormat:=False

Next i

Next m


End Sub

Wie bekomme ich es hin das ich von irgendeinem Worksheet aus die Funktion laufen lassen kann ohne eine Fehlermeldung zu bekommen??
Vielen Dank für eure Hilfe,
Karl

Bild

Betrifft: AW: VBA Mehrere Worksheets ansprechen
von: Hajo_Zi
Geschrieben am: 12.03.2005 17:10:11
Hallo Karl,
1. Das ist keine Funktion, da müßte am Ende stehen End Function stehen
2. Du kannstz nicht mit ActiveCell arbeiten, wenn Du das von jedem Blatt laufen lassen willst.
3. mir ist es einfach zu aufwendig das Ding nachzubauen um es zu testen.

Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


Bild

Betrifft: AW: VBA Mehrere Worksheets ansprechen
von: Karl
Geschrieben am: 12.03.2005 17:22:34
Hi Hajo,
ich schicke Dir das File direkt rüber.
https://www.herber.de/bbs/user/19578.xls
Vielen Dank,
Karl
Bild

Betrifft: AW: VBA Mehrere Worksheets ansprechen
von: Hajo_Zi
Geschrieben am: 12.03.2005 17:34:16
Hallo Karl,
ich habe mich nun nicht vertieft was de Code macht. Teste mal ob er das richtige macht.

Sub Macro500()
    '
    ' Macro500 Macro
    ' Macro recorded 12.03.2005 by KJS
    '
    '
    Dim i As Integer    ' Zelle??
    Dim m As Integer    ' Nummer für Tabelle
    Dim Found As Range
    m = 1
    i = 1
    For m = 1 To 2
        For i = 1 To 20
            ' suchen in der Tabelle Comp??
            Set Found = Worksheets("Comp" & m).Cells.Find(What:=Worksheets("Sheet2").Range("a" & 4 + i), _
                After:=Worksheets("Comp" & m).Range("a1"), LookIn:=xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows, _
                SearchDirection:=xlNext, MatchCase:=True, SearchFormat:=False)
            If Found Is Nothing Then Exit Sub
            Found.Offset(1, 0).Replace What:=Found.Offset(1, 0), _
                Replacement:=Worksheets("Sheet2").Range("B" & 4 + i), _
                LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:= _
                False, ReplaceFormat:=False
        Next i
    Next m
End Sub

Es braucht nur der relevante Code hochgeladen werden.
Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.
Bild

Betrifft: AW: VBA Mehrere Worksheets ansprechen
von: Karl
Geschrieben am: 12.03.2005 17:49:52
Hi Hajo,
Vielen Dank Du hast mal wieder das Problem gelöst.
Wenn ich dich richtig verstanden habe war ...Find(...,After:=ActiveCell,...) das Problem?
Danke nochmal für die Hilfe,
Karl
Bild

Betrifft: AW: VBA Mehrere Worksheets ansprechen
von: Hajo_Zi
Geschrieben am: 12.03.2005 17:54:10
hallo Karl,
genau. Du suchst auf der Tabelle comp.. stehts aber auf Tabelle1 und der Suchbeginn war ActiveCell das geht nicht.
Noch ein Hinweis.
Der Beitrag läst sich leichter verfolgen, wenn Du Deine Antwort hinter der entsprechenden Antwort schreibst.
Mit der automatischen E-Mailbenachrichtigung werden nur die letzten beiden Beiträge angezeigt und in diesem Fall sehe ich meine Antwort nicht mehr, wenn die Frage nicht richtig plaziert wurde.
Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.
Bild

Betrifft: AW: VBA Mehrere Worksheets ansprechen
von: Karl
Geschrieben am: 12.03.2005 17:58:16
hallo Karl,
genau. Du suchst auf der Tabelle comp.. stehts aber auf Tabelle1 und der Suchbeginn war ActiveCell das geht nicht.
Noch ein Hinweis.
Der Beitrag läst sich leichter verfolgen, wenn Du Deine Antwort hinter der entsprechenden Antwort schreibst.
Mit der automatischen E-Mailbenachrichtigung werden nur die letzten beiden Beiträge angezeigt und in diesem Fall sehe ich meine Antwort nicht mehr, wenn die Frage nicht richtig plaziert wurde.
Gruß Hajo

Hi Hajo,
Auf das Problem hattest Du mich das letzte mal schon aufmerksam gemacht. Meinst Du damit das ich Deine Antwort in meinen AntwortText (s.o.) miteinkopieren soll?
Nochmals Danke,
Karl
Bild

Betrifft: AW: VBA Mehrere Worksheets ansprechen
von: Hajo_Zi
Geschrieben am: 12.03.2005 18:03:34
Hallo Karl,
Du schreibst einen Beitrag, ich schreibe eine Antwot und Du schreibst eine Frage zu meiner Antwort, plazierst aber Deine Antwort unter Deiner Frage. Ich werde per Mail Benachrichtigt klicke auf den Link und sehe Deine alte Frage und neue Frage (genauso wie in diesem Beitrag) von meinem Beitrag sehe ich nichts.
Es soll auch Leute im Forum geben die mehr als ein Problem mit einmal bearbeiten. Für diese Leute wäre es einfach Klasse, wenn Sie Ihre letzte Antwort sehen.
Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.
 Bild

Beiträge aus den Excel-Beispielen zum Thema "VBA Mehrere Worksheets ansprechen"