Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
404to408
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
404to408
404to408
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Wer kann mir Makro umändern

Wer kann mir Makro umändern
Olaf
Hallo liebe Forumer,
meine VBA Kenntnisse sind noch gaaanz am Anfang und ich habe ein mittelgroßes Problem. Vor einiger Zeit wurde einer Kollegin von mir mit folgenden Makro geholfen.


Sub Zeilen_löschen_und_kopieren()
  For r = 1 To Cells(65536, 9).End(xlUp).Row
    With Sheets("Kunde")
      z = .Cells(65536, 9).End(xlUp).Row + 1
      s = Cells(r, 255).End(xlToLeft).Column
    If Cells(r, 9) = "X" Then
    Range(Cells(r, 1), Cells(r, s)).Cut Destination:=.Cells(z, 1)
    Cells(r, 1).EntireRow.Delete
    r = r - 1
    End If
    End With
  Next r
End Sub


Das Tabellenblatt auf dem der User steht heißt „Kunde“, die Daten werden in das Tabellenblatt „Altkunde“ reinkopiert. Das Makro funktioniert einwandfrei, wenn man im Tabellenblatt „Kunde“ ist.

Wie muss das Makro geändert werden, wenn ich im Tabellenblatt „Altkunde“ stehe und die Daten aus „Kunde“ geholt werden? Hintergrund ist der, das mehrere User Zugriff auf die Datei haben, einige aber nur im Blatt „Altkunde“ arbeiten.
Wer kann mir helfen?
Gruß
Olaf

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Wer kann mir Makro umändern
26.03.2004 16:54:03
Phoebe
Hallo Olaf
Füge einfach folgene Zeile gleich nach "Sub ..." ein:
Sheets("Kunde").Activate
Dieser Befehl veranlasst das Makro, in die Tabelle "Kunde" zu wechseln, egal ob du schon drin bist oder nicht.
Ich hoffe, ich habe deine Frage richtig verstanden und beantwortet.
Gruss
Phoebe
AW: Wer kann mir Makro umändern
26.03.2004 17:20:53
Heinz
Hallo Olaf,
hier eine (hoffentlich) etwas übersichtlichere Variante. Du kannst erkennen, welches Tabellenblatt angesprochen ist: wsK = Kunde, wsA = Altkunde. Dabei ist es egal, aus welchem Blatt der Arbeitsmappe du das Makro aufrufst, da die beiden Blätter mit Set wsK usw. genau referenziert sind.
Ich habe die Schleife umgedreht, d.h. sie beginnt unten und läuft bis zur Zeile 1 nach oben. Das ist vor allem nötig, wenn dabei Zeilen gelöscht werden.

Sub Zeilen_löschen_und_kopieren()
Dim wsK As Worksheet, wsA As Worksheet, r%, z%, s%
Set wsK = ThisWorkbook.Worksheets("Kunde")
Set wsA = ThisWorkbook.Worksheets("Altkunde")
For r = wsK.Cells(65536, 9).End(xlUp).Row To 1 Step -1
z = wsA.Cells(65536, 1).End(xlUp).Row + 1
s = wsK.Cells(r, 255).End(xlToLeft).Column
If wsK.Cells(r, 9) = "X" Then
wsK.Range(wsK.Cells(r, 1), wsK.Cells(r, s)).Cut Destination:=wsA.Cells(z, 1)
wsK.Cells(r, 1).EntireRow.Delete
End If
Next r
End Sub

Gruß
Heinz
Anzeige
AW: Wer kann mir Makro umändern
26.03.2004 17:33:54
Olaf
Hallo Phoebe,
hallo Heinz,
woh, so schnell hatte ich noch gar nicht mit einer Antwort gerechnet.
Beide Ergebnisse sind super. Habe mich aber für das von Heinz entschieden.
Sei nicht böse Phoebe. ;-))
Vielen vielen Dank
Gruß
Olaf

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige