Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1368to1372
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
Inhaltsverzeichnis

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

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 :)

345 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige