Anzeige
Archiv - Navigation
1592to1596
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 Schleife mit Bedienung

VBA Schleife mit Bedienung
19.11.2017 20:51:40
Oleksandr
Hallo Leute,
ich bin der Anfänger in VBA aber ich muss diese Aufgabe lösen.
Es gibt zwei Tabellen, ich will alle Werte die einer Bedienung entsprechen aus einer Tabelle addieren und das Ergebnis in eine andere Tabelle einfügen. So habe ich angefangen: Public Sub S() Dim a As Integer For j = 1 To 3 For i = 1 To 4 If Cells(i, 3) = Cells(j, 1) Then a = Cells(i, 4) End If Cells(j, 2) = a Next i Next j End Sub
Das Problem, meiner Meinung nach, es fehlt hier noch eine Variable, die die Summe aller Werte speichert. Ich weiss aber nicht wie ich sie hier einfügen kann.
Vielleicht könnte mir jemand sagen wie ich den Code ändern soll.
Danke
Gruß
Oleksandr

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Schleife mit Bedienung
19.11.2017 21:07:34
Ralf
Hi Oleksandr,
die Variable hast Du doch schon. a. Alles was Du tun musst, ist das:
a = a + Cells(i, 4)
Allerdings kennt Dein Code nur eine Tabelle. Es ist auch nicht genau erkennbar, was von wo nach wo soll. Ich vermute mal, Du willst sowas in der Art (und kannst Dir die Variable ganz sparen):

For j = 1 To 3
For i = 1 To 4
If tabelle1.Cells(i, 3) = tabelle1.Cells(j, 1) Then
Tabelle2.Cells(j, 2) = Tabelle2.Cells(j, 2) + tabelle1.Cells(i, 4)
End If
Next i
Next j

AW: VBA Schleife mit Bedienung
19.11.2017 21:46:33
Oleksandr
Hi Anton,
danke für die schnelle Antwort. Ich habe vermutlich die Aufgabestellung nicht deutlich erklärt. Mit dem Bild kannst Du sehen was ich will.
Userbild
In der ersten Tabelle soll bei B 3 stehen (als Summe von 2+1 aus der zweiten Tabelle). Mit a = a + Cells(i, 4) bekomme ich da 8.
Muss ich doch noch eine Variable hinzufügen?
Gruß
Oleksandr
Anzeige
AW: VBA Schleife mit Bedienung
19.11.2017 22:05:42
Sepp
Hallo Oleksander,
und warum mit VBA? das geht doch ganz einfach mit SUMMEWENN().
Und auch per VBA würde ich Application.Sumif() verwenden.
Gruß Sepp

AW: VBA Schleife mit Bedienung
19.11.2017 22:14:55
Oleksandr
Hallo Sepp,
gute Frage.
Zwei Gründe:
1. Ich lerne VBA (gute Möglichkeit mit Schleifen auseinander zu setzen )
2. Es ist nur ein Beispiel. Ich muss beruflich mit sehr großen Tabellen arbeiten, wo immer wieder die gleichen Fragen kommen. Und dazu muss ich die Daten immer wieder in gleicher Form/Darstellung vorbereiten. Ich habe vor einmal ein Macros zu schreiben und innerhalb von wenigen Sekunden alle Daten in der, für mich passender Form, darzustellen.
Gruß
Oleksandr
Anzeige
AW: VBA Schleife mit Bedienung
19.11.2017 22:19:34
Sepp
Hallo Oleksander,
okay, dazu nur ein paar Anmerkungen.

  1. Schleifen über Zellen sind langsam, bei großen Datenmengen wirst du das bald merken.

  2. Auch innerhalb einer Schleife kann man fertige Funktionen nutzen

  3. Besser als direkt die Zellen zu bearbeiten ist es, die Daten in ein Array zu lesen, zu bearbeiten und wieder in die Tabelle zurzuschreiben.


Gruß Sepp

AW: VBA Schleife mit Bedienung
19.11.2017 22:28:43
Sepp
Hallo Oleksandr,
als Anregung.
Tabelle1

 ABCDEF
1A3 A1 
2B7 B2 
3C5 C1 
4D5 D3 
5   B2 
6   A1 
7   D2 
8   B3 
9   C4 
10   A1 
11      


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub oleksandr()
Dim rng As Range

For Each rng In Range("A1:A4")
  rng.Offset(0, 1) = Application.SumIf(Range("D1:D10"), rng, Range("E1:E10"))
Next

End Sub

Gruß Sepp

Anzeige
AW: VBA Schleife mit Bedienung
19.11.2017 22:35:44
Oleksandr
Hi Sepp,
cool, danke.
Sag mal, hast du Zeit und Lust vielleicht mich zu couchen?
Je nachdem was das kosten würde ich hätte mit dir ab und zu on-line getroffen.
Gruß
Oleksandr
AW: VBA Schleife mit Bedienung
20.11.2017 09:20:02
Sepp
Hallo Oleksandr,
sorry, aber das biete ich nicht an. Ich betreibe Excel/VBA nur als Hobby und nicht professionell.
Gruß Sepp

Crossposting ohne Hinweis
20.11.2017 11:17:28
Werner
Hallo,
Punkt 1:
Wenn schon Crossposting, dann bitte mit entsprechendem Hinweis und Verlinkung der Beiträge in den verschiedenen Foren
Punkt 2:
Im VBA-Forum mitzuteilen, dass dein Problem offensichtlich gelöst ist, hältst du wohl nicht für nötig? Ist ja auch egel, da können sich dann ja weitere Helfer mit einem bereits gelösten Problem beschäftigen und munter für den Papierkorb arbeiten.
Gruß Werner
Anzeige
AW: Du meinst Bedingung, Bedienung ist was Anderes!
20.11.2017 14:26:04
Oleksandr
Ach so, ja, sorry ich meinte natürlich Bedingung))))
Hat mir gar nicht aufgefallen)))
Gruß
Oleksandr
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige