Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
492to496
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
492to496
492to496
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

WernerB. Kannst du mir nochmal helfen?

WernerB. Kannst du mir nochmal helfen?
29.09.2004 07:49:20
Matthias
Hallo WernerB.
Ich bräuchte noch mal deine Fachmänische Hilfe
Du hattest mir doch folgenden Quellcode geschrieben er funzt auch einwandfrei aber währe es möglich, diesen Qeullcode ein wenig zu verändern?
Hier der Quellcode!

Sub Matthias()
Dim Bn As String
Dim i As Long, Ww As Long, Gw As Long, laR As Long
Bn = Left(Cells(2, 1).Text, 4)
i = 1
Do While Bn <> ""
i = i + 1
If Left(Cells(i, 1).Text, 4) <> Bn Then
Range(Cells(i, 1), Cells(i + 2, 1)).EntireRow.Insert
Cells(i + 1, 2).Value = Ww
Gw = Gw + Ww
Ww = 0
i = i + 2
Bn = Left(Cells(i + 1, 1).Text, 4)
Else
Ww = Ww + Cells(i, 2).Value
End If
Loop
laR = Cells(Rows.Count, 2).End(xlUp).Row
Cells(laR + 2, 2).Value = Gw
End Sub

Dieser Qellcode müsste jetzt so geändert werden, dass er nebenbei die Zelle B2 mit C2 Multipliziert und das Ergebniss in die zelle D2 schreibt
mit B3 und C3 soll er wieder so verfahren aber dass ergebniss von D2 soll noch addiert werden. Beiu B4*C4 soll D3 addiert werde usw
Dass ganze soll auch wieder block weise geschen und dass ergebniss des einzellnenblockes soll wieder in der 2-ten freien zeile stehen und zum schluß wieder die Gesamtsumme der einzelnen blöcke
Danke schonmal im Vorraus
Mfg Matthias

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

Betreff
Datum
Anwender
Anzeige
AW: WernerB. Kannst du mir nochmal helfen?
WernerB.
Hallo Matthias,
das artet ja fast in Auftragsarbeit aus.
Beim nächsten Mal erhebe ich eine Erschwerniszulage.

Sub Matthias()
Dim Bn As String
Dim i As Long, Ww1 As Long, Ww2 As Long, Gw1 As Long, Gw2 As Long, laR As Long
Application.ScreenUpdating = False
Bn = Left(Cells(2, 1).Text, 4)
i = 1
Do While Bn <> ""
i = i + 1
Cells(i, 4).Value = Cells(i, 2).Value * Cells(i, 3).Value
If Left(Cells(i, 1).Text, 4) <> Bn Then
Range(Cells(i, 1), Cells(i + 2, 1)).EntireRow.Insert
Cells(i + 1, 2).Value = Ww1
Cells(i + 1, 4).Value = Ww2
Gw1 = Gw1 + Ww1
Gw2 = Gw2 + Ww2
Ww1 = 0
Ww2 = 0
i = i + 2
Bn = Left(Cells(i + 1, 1).Text, 4)
Else
Ww1 = Ww1 + Cells(i, 2).Value
Ww2 = Ww2 + Cells(i, 4).Value
End If
Loop
laR = Cells(Rows.Count, 2).End(xlUp).Row
Cells(laR + 2, 2).Value = Gw1
Cells(laR + 2, 4).Value = Gw2
Application.ScreenUpdating = True
End Sub

Viel Erfolg wünscht
WernerB.
Anzeige
AW: WernerB. Kannst du mir nochmal helfen?
29.09.2004 09:21:27
Matthias
Ersteinal möchte ich für deine hilfe bedanken
Aber es gibt da noch ein 2 probleme
1. Ww2 = Ww2 + Cells(i, 4).Value in diese Zeile bekomme ich aber einen Laufzeitfehler 6 wegen überlauf
2.Stimmt dass mit der einem formel noch nicht ganz und zwar B3*c3+D2 beim ergebniss stimmt da was nicht
Kannst du das noch beheben?
Mfg Matthias
und nochmals danke
AW: WernerB. Kannst du mir nochmal helfen?
WernerB.
Hallo Matthias,
leider kann ich den von Dir beschriebenen Fehler bei mir so nicht nachvollziehen.
Bei mieinem Versuchsaufbau läuft das Makro ohne Beanstandung durch und macht genau das, was ich mir vorgestellt habe.
Kannst Du mal eine kleine Beispieldatei (bitte ohne Makros!) hochladen, in der auf einem Blatt die Ausgangssituation und auf einem anderen Blatt das gewünschte Ergebnis dargestellt ist?
Gruß
WernerB.
Anzeige
AW: WernerB. Kannst du mir nochmal helfen?
WernerB.
Hallo Matthias,
ich war für einige Zeit offline, deshalb kann ich mich erst jetzt wieder melden.
Bisher bin ich davon ausgegangen, dass nur mit Ganzzahlen – also nicht mit Dezimalzahlen - gearbeitet wird.
Aber vielleicht geht es jetzt so:

Sub Matthias()
Dim Bn As String
Dim Ww1 As Double, Ww2 As Double, Gw1 As Double, Gw2 As Double
Dim i As Long, laR As Long
Application.ScreenUpdating = False
Bn = Left(Cells(2, 1).Text, 4)
i = 1
Do While Bn <> ""
i = i + 1
Cells(i, 4).Value = Cells(i, 2).Value * Cells(i, 3).Value
If Left(Cells(i, 1).Text, 4) <> Bn Then
Range(Cells(i, 1), Cells(i + 2, 1)).EntireRow.Insert
Cells(i + 1, 2).Value = Ww1
Cells(i + 1, 4).Value = Ww2
Gw1 = Gw1 + Ww1
Gw2 = Gw2 + Ww2
Ww1 = 0
Ww2 = 0
i = i + 2
Bn = Left(Cells(i + 1, 1).Text, 4)
Else
Ww1 = Ww1 + Cells(i, 2).Value
Ww2 = Ww2 + Cells(i, 4).Value
End If
Loop
laR = Cells(Rows.Count, 2).End(xlUp).Row
Cells(laR + 2, 2).Value = Gw1
Cells(laR + 2, 4).Value = Gw2
Application.ScreenUpdating = True
End Sub

Gruß
WernerB.
Anzeige
AW: WernerB. Kannst du mir nochmal helfen?
29.09.2004 14:02:46
Matthias
Danke Danke Danke für deine hilfe
Jetzt ist eigentlich nur noch ne Kleinichkeit
die einheit in der das ergebniss eines blockes rauskommt ist nur mm müsste in aber in meter raus kommen
Und müsste aus noch durch das gewicht des blockes geteil werden
in excel sieht das aus =SUMME(B2:B85)/(1000*cells(i,2) 'B2:B85 ist in abhänigkeit von Bn
Wie kann man dass in diesem makro noch mit einbauen
Hoffe es ist Verständlich Beschrieben
Mfg Matthias
P.S.Was trinkst du eigentlich gerne?
korrektur
29.09.2004 14:10:00
Matthias
Tschuldige mein fehler
ich meinte in die =summe(D2:85)/(1000*cells(I,2)
mfg Matthias
Anzeige
Prob. hat sich erledigt
29.09.2004 15:11:50
Matthias
Noch mals danke für deine hilfe
Mfg Matthias

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige