Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA: Variablen Range definieren

VBA: Variablen Range definieren
17.07.2014 08:10:34
na
Guten Morgen zusammen,
sitze hier schon eine Weile vor folgendem Problem:
Ich bekomme aus einer Datenbank relativ ungeordnete Daten. Nun möchte ich in bestimmten Bereichen das Wort Endkontrolle zählen. Das Zählen funktioniert soweit auch, nur weiss ich nicht wie ich den Range variabel gestalten kann.
Mein Ansatz:
Ich markiere die Bereiche:

Sub beziffern()
Dim i As Long, m As Long
m = 1
For i = 2 To 500
If Cells(i, 3)  "" Then
Cells(i, 7) = "Bereich" & m
m = m + 1
End If
Next i
End Sub

Nun will ich von Bereich1 bis Bereich2, von Bereich2 bis Bereich3, von Bereich3 bis Bereich4 usw. in Spalte I die Häufigkeit des Wortes "Endkontrolle" zählen und in eine neue Tabelle einfügen.
Ansatz:
For Each Zelle In Sheets(1).Range("I" & x, "I" & y)
If Zelle.Value = "Endkontrolle" Then i = i + 1
Next Zelle
Sheets("Tabelle2").Cells(s, 4) = i
s = s + 1
die Frage: wie kann ich x="Bereich1" und y="Bereich2" (Bezeichnung kann natürlich verändert werden) bestimmen und in die Schleife einbauen?
Ich hoffe, es ist halbwegs verständlich formuliert, ansonsten einfach nachfragen.
Danke vielmals

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Musterdatei?
17.07.2014 08:24:31
UweD

AW: Musterdatei?
17.07.2014 08:34:20
na
Hier eine die Beispieldatei.
https://www.herber.de/bbs/user/91542.xlsm
nicht abschrecken lassen, ist evtl ein wenig unübersichtlich...habe êin paar Sachen ausprobiert.

AW: Musterdatei?
17.07.2014 10:13:11
UweD
Hallo
Meiner Meinung nach kannst du alle deine Makros durch dieses ersetzen...
Sub Neu()
Dim i As Long, E As Long, LR As Long
Dim TB1, TB2
Set TB1 = Sheets(1): Set TB2 = Sheets(2)
LR = TB1.Cells.SpecialCells(xlCellTypeLastCell).Row 'Letzte Zeile des gesamten Blattes
TB2.Columns("C:E").ClearContents 'Reset
m = 1
E = 0: F = 0
With TB1
For i = 2 To LR
If .Cells(i, 9).Value = "Endkontrolle" Then
E = E + 1
F = F + 1
End If
If .Cells(i, 3).Value  "" Then
.Cells(i, 7) = "Bereich" & m
If m > 1 Then TB2.Cells(m, 4) = E
E = 0
m = m + 1
TB2.Cells(m, 3) = .Cells(i, 3)
End If
Next i
TB2.Cells(m, 4) = E
End With
TB2.Cells(1, 5) = F ' Gesamtsumme
TB2.Activate
End Sub
Gruß UweD

Anzeige
AW: Musterdatei?
17.07.2014 14:54:58
na
Hi UweD
Wow! Funktioniert perfekt, genau so wie ich es wollte. Da hatte ich eindeutig den falschen Ansatz.
Vielen Danke und einen schönen Tag :)
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige