Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1648to1652
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

Schleife Hilfe

Schleife Hilfe
17.10.2018 20:44:48
tommich
Hallo Community,
ich hätte gern Hilfe bei folgendem Makro:
https://www.herber.de/bbs/user/124706.xlsx
Ist es möglich die Werte von D - F jeweils Zeilenweis in die Zellen J3, K3 und L3 übertragen werden, dann wird das Volumen gerechnet in Zelle M3. Anschließend wird der Wert in die jeweilige Zeile in Spalte G geschrieben.
Anschließend wird eine Zeile weiter runtergesprungen. Falls Werte vorhanden sind, werden diese ebenfalls wieder übertragen und das Ergebnis wieder zurückgespielt.
Wäre super wenn mir jemand kurz eine Schleife dazu machen könnte =)

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schleife Hilfe
17.10.2018 20:58:13
Hajo_Zi
das geht nicht, da eine XLSX Datei kein Makro enthalten kann.
Ich sehe keinen Grund eine Datei 2x zu speichern. Ich führe keine Liste unter welchem Dateinamen ich die Datei gespeichert habe.

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
mach mal neu, den kenn ich schon. o.w.T.
18.10.2018 07:12:39
Werner
AW: Schleife Hilfe
17.10.2018 22:02:49
onur
Bei folgendem Makro?
Du meinst wohl, "kann mir jemand das folgende als Makro schreiben"?
Wie stellst du dir das vor? Wie sollen denn 5 Zeilen gleichzeitig in J3, K3 und L3 passen?
Teste das:
Es wird immer die angeklickte Zelle übertragen.
https://www.herber.de/bbs/user/124709.xlsm
Anzeige
AW: Schleife Hilfe
17.10.2018 22:10:06
tommich
tut mir leid, ich meinte, ob es mir jemand schreiben kann.
Hab mich schlecht ausgedrückt.
also es soll folgendermaßen ablaufen:
Zuerst wird bei Zeile 4 gestartet.... dann werden die Zellen übertragen und dann das Ergebnis ausgelesen und wieder zurückübertragen.
dann springt das Makro eine Zeile weiter... übertragt wieder die werte und überschreibt die alten.... es entsteht ein neues Ergebnis welches dann zurückübertragen wird.
und so weiter...
das wäre dann eine Schleife.
Ich brauche die Logik dahinter für eine größere Excel =)
AW: Schleife Hilfe
18.10.2018 07:09:27
Werner
Hallo,
zum Lösungsvorschlag von Onur hast du dich hier nicht geäußert. Hier meine Version.
Für was du das brauchst kannst nur du wissen.
Option Explicit
Public Sub Schleife()
Dim i As Long, j As Long
Application.ScreenUpdating = False
With Worksheets("Tabelle1")
For i = 4 To .Cells(.Rows.Count, 4).End(xlUp).Row
If WorksheetFunction.CountBlank(.Range(.Cells(i, 4), .Cells(i, 6))) = 0 Then
For j = 4 To 6
.Cells(4, j).Offset(, 6) = .Cells(i, j)
Next j
.Cells(i, 7).Value = .Cells(4, 13).Value
End If
Next i
.Range(.Cells(4, 10), .Cells(4, 12)).ClearContents
End With
Application.ScreenUpdating = True
End Sub
Gruß Werner
Anzeige
AW: Schleife Hilfe
18.10.2018 09:46:56
Thomas
Vielen Dank Werner =)
Funktioniert super .
Ich hab noch eine Sache (leider nicht hinbekommen).
Wenn ich die Werte jetzt auf ein anderes Tabellenblatt übertragen will und dann zurückspielen...
Wie würde der Code dann aussehen?
AW: Schleife Hilfe
18.10.2018 10:00:18
Thomas
Habs doch hinbekommen =)

With Worksheets("Tabelle1")
For i = 4 To .Cells(.Rows.Count, 4).End(xlUp).Row
If WorksheetFunction.CountBlank(.Range(.Cells(i, 4), .Cells(i, 6))) = 0 Then
For j = 4 To 6
Sheets("Tabelle2").Cells(4, j).Offset(, 12) = .Cells(i, j)
Next j
.Cells(i, 8).Value = Sheets("Tabelle2").Cells(4, 19).Value
End If
Next i
End With

Anzeige
Hier auch noch mal....
18.10.2018 10:04:18
Werner
Hallo Thomas,
...mit Leeren des "Berechnungsbereiches" nach Makrodurchlauf.
Option Explicit
Public Sub Schleife()
Dim i As Long, j As Long
Application.ScreenUpdating = False
With Worksheets("Tabelle1")
For i = 4 To .Cells(.Rows.Count, 4).End(xlUp).Row
If WorksheetFunction.CountBlank(.Range(.Cells(i, 4), .Cells(i, 6))) = 0 Then
For j = 4 To 6
Worksheets("Tabelle2").Cells(4, j).Offset(, 6) = .Cells(i, j)
Next j
.Cells(i, 7).Value = Worksheets("Tabelle2").Cells(4, 13).Value
End If
Next i
With Worksheets("Tabelle2")
.Range(.Cells(4, 10), .Cells(4, 12)).ClearContents
End With
End With
Application.ScreenUpdating = True
End Sub
Gruß Werner
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige