Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
Schleifen, Filter mit tabellenblattübergreifenden Variablen |
10.09.2017 16:57:26 |
NeuInVBA |
|
|
|
10.09.2017 19:31:15 |
Gast70117 |
|
|
|
11.09.2017 13:32:55 |
NeuInVBA |
|
|
|
11.09.2017 19:33:28 |
Gast70117 |
|
|
|
11.09.2017 20:48:59 |
Gast49619 |
|
|
|
11.09.2017 20:48:59 |
Gast80265 |
|
|
|
11.09.2017 20:48:59 |
Gast94550 |
|
|
|
11.09.2017 20:53:13 |
Gast37918 |
|
|
|
12.09.2017 10:47:45 |
Gast70117 |
|
|
|
12.09.2017 15:19:55 |
NeuInVBA |
|
|
Von:
NeuInVBA |
Datum:
10.09.2017 16:57:26 |
Views:
1283 |
Rating:
|
Antwort:
|
Thema:
Schleifen, Filter mit tabellenblattübergreifenden Variablen |
Hallo liebes Forum,
ich arbeite z.Z. an der Automatisierung eines Prozesses in Excel mit VBA.
Dabei stoße ich nun auf folgenden nachzustellenden Prozess:
Ausgangspunkt sind zwei Datentabellen mit den jeweils relevanten Spalten Name und Total. Ich nehme aus Tabelle 1 den Namen und den Totalwert, filter Tabellenblatt 2 nach diesem Namen (es gibt mehrere Ergebnisse), suche eine Zeile, in der der dort angegebene Totalwert größer dem Totalwert aus Tabelle 1 ist und subtrahiere anschließend die beiden Werte.
Grundsätzlich hört es sich machbar an. Nach zahlreichen Versuchen bin ich nur leider am Ende meiner Ideen.
Hier beigefügt seht ihr einen meiner letzten Versuche. Mein Hauptproblem besteht in der Übertragung von Name und Total von einem Tabellenblatt in das Andere. Dadurch funktioniert auch das Filtern der Daten und das Festlegen der Filterkriterien nicht. Ich habe es hier sowohl mit dem Autofilter, als auch mit dem Spezialfilter versucht und dazu unter anderem den Namen in einem String gespeichert und den Total Wert als Integer. Wie kann ich die deklarierten Variablen (cases, wort) als Kriterien verwenden?
meine Gedanken zu einem möglichen Quelltext:
'Subtraktion
'Größe Tabelle 2 wird durch Variable zeilenTab1 ermittelt
Dim w As Integer 'um alle beschrieben Zellen zu durchlaufen in Tab 1: w als Start und e als ende
Dim e As Integer
Dim Name As String
Dim cases As Long
Dim minus As Long
'Tabelle 1 - Wie groß/ wie oft muss die Schleife durchlaufen werden?
With Sheets("Tabelle1")
e = Range("A65535").End(xlUp).Row
End With
For w = 2 To e 'Festlegen von Anfang und Ende funktioniert auch noch nicht
Sheets("Tabelle1").Select
wort = Range("B" & w).Value 'Name steht immer in Spalte B, Variable w durchläuft die ganze tabelle
cases = Range("Q" & w).Value 'Total steht immer in Spalte Q
Sheets("Tabelle2").Select
With Range("$A$1" & zeilenTab1)
.AutoFilter Field:=14, Criteria1:=">=" & Sheets("Tabelle1").Range("Q" & w).Value '=cases
.AutoFilter Field:=3, Criteria1:=Sheets("Tabelle1").Range("B" & w).Value '=wort
End With
minus = Range("N2").Value
minus = minus - cases
Range("$A$1" & zeilenTab2).EntireRow.Hidden = False 'Filter entfernen
Next w
Bitte entschuldigt die vielleicht merkwürdige Formatierung - es ist mein erstes Makro, über Hinweise bin ich dankbar :)
ich hoffe, dass ihr mir helfen könnt und bedanke mich schon im für jeden Hinweis!
Viele Grüße :)
|
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
Schleifen, Filter mit tabellenblattübergreifenden Variablen |
10.09.2017 16:57:26 |
NeuInVBA |
|
|
|
10.09.2017 19:31:15 |
Gast70117 |
|
|
|
11.09.2017 13:32:55 |
NeuInVBA |
|
|
|
11.09.2017 19:33:28 |
Gast70117 |
|
|
|
11.09.2017 20:48:59 |
Gast49619 |
|
|
|
11.09.2017 20:48:59 |
Gast80265 |
|
|
|
11.09.2017 20:48:59 |
Gast94550 |
|
|
|
11.09.2017 20:53:13 |
Gast37918 |
|
|
|
12.09.2017 10:47:45 |
Gast70117 |
|
|
|
12.09.2017 15:19:55 |
NeuInVBA |
|
|