Ich habe ein kleines Problem: Ich weiss nicht, wie man ein Makro in Tabelle 1 automatisch starten kann, nachdem man in Tabelle 2 eine Eingabe gemacht hat.
Kann mir da jemand helfen?
Gruss Tom
Ich habe ein kleines Problem: Ich weiss nicht, wie man ein Makro in Tabelle 1 automatisch starten kann, nachdem man in Tabelle 2 eine Eingabe gemacht hat.
Kann mir da jemand helfen?
Gruss Tom
könntes Du das mal genauer Beschreibe
- eine Zelle in Tabelle2 oder mehere
- welche Aktion in Tabelle1
Ansatz wäre
Private Sub Worksheet_Change(ByVal Target As Range)
Gruß Hajo
Ich denke mir dies folgendermassen: In Tabelle1 liegen verschiedene Daten, welche aus Formelwerten der 2. Tabelle generiert wurden. Bsp: Inhalt in Zelle F9 in der 1. Tabelle: =(Tabelle2!U12).
Jetzt möchte ich nach jeder Eingabe von Daten im Bereich D2:W23 der 2. Tabelle, die automatisch generierten Inhalte im Bereich A1:G8 der 1. Tabelle sortieren lassen.
Wie mache ich dies am besten?
nach welche Spalte soll Tabelle 1 Sortiert werden??
Ich gehe mal davon aus der sortierbereich hat keine Überschrift.
gruß Hajo
Die Inhalte sollen nach Spalte G und in 2. Priorität nach Spalte B abwärts sortiert werden.
leider ist mir jetzt keine Version ohne select eingefallen. Aber solange wollte ich jetzt nicht mehr an der Aufgabe arbeiten. Beide Spalten werden absteigend sortiert.
' **************************************************************
' Modul: Tabelle2 Typ = Element der Mappe(Sheet, Workbook, ...)
' **************************************************************
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
' erstellt von Hajo Ziplies 14.12.02
Dim RaBereich As Range, RaZelle As Range
' Bereich der Wirksamkeit
Set RaBereich = Range("D2:W23")
' ActiveSheet.Unprotect
For Each RaZelle In Range(Target.Address)
' überprüfen ob Zelle im vorgegebenen Bereich
If Not Intersect(RaZelle, RaBereich) Is Nothing Then
' Sortiere
Application.ScreenUpdating = False
Sortieren
Application.ScreenUpdating = True
End If
Next RaZelle
' ActiveSheet.Protect
End Sub
' **************************************************************
' Modul: Modul1 Typ = Allgemeines Modul
' **************************************************************
Option Explicit
Sub Sortieren()
Worksheets("Tabelle1").Select
Worksheets("Tabelle1").Range("A1:G8").Sort Key1:=Range("G1"), Order1:=xlDescending, Key2:=Range("B1") _
, Order2:=xlDescending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
:=xlSortNormal
Worksheets("Tabelle2").Select
End Sub
Code eingefügt mit: Excel Code Jeanie
Code Jeanie
Frage
Das Umsetzen nach Html klappt perfekt, auch die Ansicht in den Foren ist gegeben. Bei manchen Foren kann man aber anscheinend nicht den dargestellten Code nach VBA rückkopieren. Warum?
Antwort
Dies liegt nicht an der Code Jeanie !!! Manche Foren interpretieren anscheinend < pre > < /pre > Tags nicht richtig und erzeugen am Zeilenende einen weichen Zeilenumbruch anstatt eines harten Zeilenumbruches. Dies führt dazu, dass im VBA-Editor die Zeilen hintereinander geschrieben werden. Zum Rückkopieren in solchen Fällen: Fügen Sie den kopierten Code aus dem Forum nach Word ein, kopieren Sie ihn dort wieder und fügen Sie ihn dann im VBA - Editor ein
Gruß Hajo
Es funktioniert.
Gruss Tom
hier noch eine Variante ohne Select. Peter Haserodt hat mir hier den Tip gegeben. Ändere folgenden Code
Option Explicit
Sub Sortieren()
With Worksheets("Tabelle1")
.Range("A1:G8").Sort Key1:=.Range("G1"), Order1:=xlDescending, Key2:=.Range("B1") _
, Order2:=xlDescending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
:=xlSortNormal
End With
End Sub
Code eingefügt mit: Excel Code Jeanie
Code Jeanie
Frage
Das Umsetzen nach Html klappt perfekt, auch die Ansicht in den Foren ist gegeben. Bei manchen Foren kann man aber anscheinend nicht den dargestellten Code nach VBA rückkopieren. Warum?
Antwort
Dies liegt nicht an der Code Jeanie !!! Manche Foren interpretieren anscheinend < pre > < /pre > Tags nicht richtig und erzeugen am Zeilenende einen weichen Zeilenumbruch anstatt eines harten Zeilenumbruches. Dies führt dazu, dass im VBA-Editor die Zeilen hintereinander geschrieben werden. Zum Rückkopieren in solchen Fällen: Fügen Sie den kopierten Code aus dem Forum nach Word ein, kopieren Sie ihn dort wieder und fügen Sie ihn dann im VBA - Editor ein
Gruß Hajo