Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
816to820
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
816to820
816to820
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Formel in VBA
09.11.2006 11:45:35
sandro
Guten Tag
In einer Excel Liste sind Produkte in einer und der Preis in der nächsten Spalte eingetragen. Ich habe die Möglichkeit verschiedene Produkte aus der Liste auszuwählen und diese über ein Makro in eine zweite Tabelle zu kopieren. Gleichzeitig werden in der zweiten Tabelle die Preise addiert.
Jetzt das Problem:
Die Formel zur Summe wird ebenfalls durch das Makro eingesetzt, da diese nicht immer in der gleichen Zelle sein kann. Nach dem kopieren wird auch das korrekte Resultat in der Zelle angezeigt, jedoch nicht mehr als Formel, sondern direkt als Zahl.
Wie kann ich dies ändern, so dass wenn sich ein Preis der kopierten Produkte ändert, sich die Summe mit ändert?
Ich hoffe ich konnte es einigermassen verständlich erklären.

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Glaskugel defekt...
09.11.2006 11:47:43
Herrseher
der Code wäre nicht schlecht..
AW: Glaskugel defekt...
09.11.2006 11:52:22
sandro
oh sorry...
ich hoffe er ist nicht zu unübersichtlich. ich habe erst gestern mit vba begonnen

Sub Produkte()
Dim ausgabestring As String
Zahl2 = 4
For Zahl = 4 To 9
ausgabestring = Mid(Range(Cells(Zahl, 1), Cells(Zahl, 1)), 1, 1)
If ausgabestring = "x" Then
Cells(Zahl, 2).Select
Selection.Copy
Sheets("Benötigt").Select
Cells(Zahl2, 2).Select
ActiveSheet.Paste
Sheets("Alles").Select
Cells(Zahl, 5).Select
Selection.Copy
Sheets("Benötigt").Select
Cells(Zahl2, 3).Select
ActiveSheet.Paste
Sheets("Alles").Select
Zahl2 = Zahl2 + 1
Else: End If
Next Zahl
Sheets("Benötigt").Select
Zahl3 = Zahl2 + 2
Cells(Zahl3, 3) = Application.WorksheetFunction.Sum(Range(Cells(4, 3), Cells(Zahl2, 3)))
End Sub

Anzeige
AW: Glaskugel defekt...
09.11.2006 15:54:38
UweD
Hallo
so dürfte es gehen.

Sub Produkte()
Dim ausgabestring As String
Dim Zahl As Single, Zahl2 As Single, Zahl3 As Single
Dim TB1, TB2
Set TB1 = Sheets("Alles")
Set TB2 = Sheets("Benötigt")
Zahl2 = 4
For Zahl = 4 To 9
ausgabestring = Left(TB1.Cells(Zahl, 1), 1)
If ausgabestring = "x" Then
TB1.Cells(Zahl, 2).Copy TB2.Cells(Zahl2, 2)
TB1.Cells(Zahl, 5).Copy TB2.Cells(Zahl2, 3)
Zahl2 = Zahl2 + 1
End If
Next Zahl
Zahl3 = Zahl2 + 2
TB2.Cells(Zahl3, 3).FormulaLocal = "=Summe(C4:C" & Zahl2 & ")"
End Sub

- Mid(Text, 1,1) ab Stelle1 ein Zeichen lang , ist Left()
- Auf Select und Activate kann in den meisten Situationen wegfallen.
- gerade bei copy ist das überflüssig...
Gruß UweD
(Rückmeldung wäre schön)
Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige