Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
532to536
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
532to536
532to536
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Zellen mit bestimmten Wert addieren
14.12.2004 18:46:14
Rene
Moin zusammen,
Es ist immer wieder eine Freude hier zu sein und anregungen zu erhalten.Jetzt zu meinen Problemen die ich habe.
1.Ich habe eine UserForm mit einer TextBox in die TextBox kommt eine Zahl mit 3Stellen hinter dem Komma (14,000)diese wird in die Zelle "G7" übertragen das geht auch alles.Nun soll sich aber jede zweite Zelle um einen Wert von 0,05 erhöhen(z.B.14,000->14,050->14,100->14,150)das ganze soll bis zur Zeile "G85" gehen.Dieses würde auch gehen aber bestimmt einfacher als mein Macro.Hier mal ein Auszug von:

Sub funzig_plus()
Dim i As Single
Const Faktor As Single = "0,05"
If Sheets("Liste").Activate = True Then
i = Range("G7").Value
i = i + Faktor
Range("G9").Value = i
i = Range("G9").Value
i = i + Faktor
Range("G11").Value = i
End If
End Sub

Das ganze würde bis zur Zeile 85 Gehen!Dieses würde bestimmt einfacher laufen nun soll in die freien Zellen der jeweilge obere Wert genommen werden,es müßte dann so aussehen:
14,000
14,000
14,050
14,050
14,100
14,100
...... und immer so weiter bis zur Zeile 86.
2. Wenn ich nun eine oder mehrere (die Reihenfolge ist verschieden)Zellen löschen muß müßte der Wert immer wieder gleich aussehen also wenn ich G7 lösche muß G8 und G9 doppelt sein wenn ich nun G10-G14 lösche darf es erst bei G15 weiter gehen. Da ich leider erst mit VBA angefangen habe komme ich leider nicht weiter ich hoffe es gibt eine Möglichkeit diese Sache umzusetzen.Falls ich mich nicht verständlichgenug ausgedrückt habe würde ich versuchen eine BeispielTabelle hochzuladen.Ich hoffe es kann mir einer weiterhelfen.Danke schon mal im voraus.
mfg Rene

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen mit bestimmten Wert addieren
14.12.2004 19:14:32
Christoph
Hi Rene,
das 2. Problem hab ich noch nicht so genau verstanden.
Mein Vorschlag zur ersten Frage:

Option Explicit
Sub funzig_plus()
Dim i As Double, j As Integer
With Sheets("Liste")
For j = 8 To 84 Step 2
i = .Cells(j - 1, 7) + 0.05
.Cells(j, 7) = i
.Cells(j + 1, 7) = i
Next j
End With
End Sub

Gruß
Christoph
AW: Zellen mit bestimmten Wert addieren
14.12.2004 20:05:34
Rene
Moin Christoph,
Ich danke dir schon mal für das erste Problem es ist genau richtig. Das zweite ist auch glaub ich etwas schwieriger ich werde erst mal die Kidis ins Bett bringen und versuch dann mal die Tabelle hochzuladen dann siehst du was ich meine. Geht das einfach mit dem hochladen, denn das hab ich noch nicht gemacht?
mfg rene
Anzeige
AW: Zellen mit bestimmten Wert addieren
14.12.2004 20:26:30
Christoph
Hi Rene
Tabelle hochladen ist kein Hexenwerk.
Probleme kann's höchstens geben, wenn der von dir angegebene Pfad zu "tief" ist oder der Dateiname zu lang.
Ansonsten - lad keine riesen Datei hoch, sondern nur ein aussagekräftigen Ausschnitt.
Das müssen sich die anderen ja wieder runterladen.
Gruß
Christoph
AW: Zellen mit bestimmten Wert addieren
14.12.2004 20:39:29
Rene
Hi Christoph,
Hier mal die Tabelle: https://www.herber.de/bbs/user/14838.xls
Hoffe das es geklappt hat die die Tabelle da ist. Erläuterung dazu:
Spalte "G" wäre das Original, Spalte "J" wäre nach dem löschen der Zellen, und Spalte "K" wäre das Ergebniss wie Spalte "G" dann aussehen müßte.
Könntest du auch gleich mal das mit dem Textfeld testen bei mir geht es nicht wenn ich in das Textfeld die Zahl eingebe das diese dann in "G7" erscheint und dann auch so rechnet.
gruß rene
Anzeige
AW: Zellen mit bestimmten Wert addieren
14.12.2004 21:43:31
Christoph
Hi Rene,
ehrlich gesagt steh ich immr noch auf dem Schlauch...
Wie werden die Zellen gelöscht?
Wirklich Zellen löschen im Sinne von "Bearbeiten - Zellen löschen - Zellen nach oben verschieben" ?
Oder werden die EINTRÄGE gelöscht? Dann müsste man dieses Ereignis, bzw. die Delete-taste abfragen. (wird aber nicht einfach, da man jeweils die Zeilennummer, in der ein Eintrag gelöscht wird an mein ursprüngliches Makro übergeben müsste...)
Was hat es mit den Formeln in Spalte J auf sich?
Sind diese nur zu Demo-Zwecken in dieser Bsp-Datei? (ich fürchte nein...)
Was passiert dann mit den Formeln?
Fragen über Fragen...
Zu deiner 2. Frage:
Wenn du mein Makro so einsetzt, wie ich es gepostet habe, dann klappts auch mit der Textbox:
Also nicht: For j = 7 To 84 Step 2
sondern: For j = 8 To 84 Step 2
Gruß
Christoph
PS. etwas kürzer dargestellt und mit Fehleingabe-Abfangung versehen könnte das TextBox1_Change-Ereignis so aussehen:

Private Sub TextBox1_Change()
If Not IsNumeric(TextBox1) Then TextBox1 = ""
If TextBox1 = "" Then Exit Sub
If InStr(TextBox1, ".") > 0 Then
TextBox1 = Application.Replace(TextBox1, InStr(TextBox1, "."), 1, ",")
End If
Sheets("Liste").Range("G7") = CDbl(UserForm1.TextBox1)
End Sub

Anzeige
Korrektur
14.12.2004 22:11:35
Christoph
noch 'ne Korrektur zu meinem letzten Code:
Wenn du zwei mal einen Punkt eingibst, hängt er sich wieder auf, also mach das besser so: (auch wenn es nicht deine eigentliche Frage betrifft)

Private Sub TextBox1_Change()
On Error GoTo ErrorHandler
If InStr(TextBox1, ".") > 0 Then
TextBox1 = Application.Replace(TextBox1, InStr(TextBox1, "."), 1, ",")
End If
Sheets("Liste").Range("G7") = CDbl(UserForm1.TextBox1)
Exit Sub
ErrorHandler:
TextBox1 = ""
End Sub

Gruß
Christoph
AW: Korrektur
14.12.2004 22:53:05
Rene
Hi Christoph,
Hab das mal gestest was mir auch aufgefallen ist ist wenn mann "," und "." eingibt gibt er eine Fehlermeldung bei mir. Kann man da auch etwas gegen machen?
Gruß René
Anzeige
AW: Zellen mit bestimmten Wert addieren
14.12.2004 22:18:14
Rene
Hi Christoph,
Ich danke dir für deine Mühe erst mal ich sage ja das was ich hoffe das es geht ist bestimmt nicht einfach.Also die Zellen würde ich zur Zeit "noch" über die Entf Taste löschen wollen vielleicht später mal etwas anderes aber da muß ich mir erst mal noch etwas einfallen lassen. Bei den Zellen wird nur der Eintrag gelöscht.Den mann ja über dein Macro jetzt prima eingeben kann also stehen nur die Zahlen da. Die Spalte J ist nur ein Bsp gewesen wie ich das meine mit den Zellen löschen es würde ja jetzt keine Formel mehr geben da ich das ja nun über VBA machen möchte.Die Formel ist also nicht mehr interresant. Wichtig ist eben das wenn mann eine Zellinhalt löscht das er dann irgendwie an die nächste nichtleere zelle übergeben werden müßte.Das Ergebniss ist ja laut Spalte K zu sehen.Ich hoffe du verstehst jetzt was ich meine.
Rene
PS: TextBox geht jetzt doch wie es soll.
Anzeige
AW: Zellen mit bestimmten Wert addieren
14.12.2004 23:07:14
Christoph
Hi Rene,
ok, ich hab dich jetzt verstanden.
Ich arbeite dran. Aber ich werde erst morgen abend dazu kommen - weil, ich muss morgen auch wieder um 6:00 raus.
bis dann
Gruß
Christoph
AW: Zellen mit bestimmten Wert addieren
14.12.2004 23:12:03
Rene
Hi Christoph,
Ist absolut kein Problem hoffe das du was findest. Wünsche ein Gute Nacht.
Bis dann René
so läuft es
15.12.2004 19:12:26
Christoph
Hallo René,
der folgende Code müsste deine Vorstellungen entsprechen.
Wenn du dies bei jeder Änderung im Bereich "G7:G86" ausführen willst, dann ruf das Makro über das Selection_Change-Ereignis auf. Da müssen aber dann auch die entsprechenden Fehlerabfangungen rein.
Gruß
Christoph

Option Explicit
Sub fuenzig_plus()
Dim i%, j%, k%
With Sheets("Liste")
'wenn nur G7 eine Eintrag hat, dann alle berechnen:
If Application.Count(.Range("G7:G86")) = 1 And .Range("G7") <> "" Then
For i = 7 To 85 Step 2
.Cells(i + 1, 7) = .Cells(i, 7)
.Cells(i + 2, 7) = .Cells(i, 7) + 0.05
Next i
.Cells(87, 7).ClearContents
Else 'wenn Bereich teilweise oder ganz gefüllt:
For i = 7 To 86
If .Cells(i, 7) <> "" Then
For j = i + 1 To 86
If .Cells(j, 7) <> "" Then
.Cells(j, 7) = .Cells(i, 7)
i = j
Exit For
End If
Next j
For k = j + 1 To 86
If .Cells(k, 7) <> "" Then
.Cells(k, 7) = .Cells(i, 7) + 0.05
Exit For
End If
Next k
End If
Next i
End If
End With
End Sub

Anzeige
AW: so läuft es
15.12.2004 19:51:02
Rene
Hallo Christoph,
Find ich echt prima das du mich nicht vergessen hast, probiere es gleich mal aus und melde mich dann noch mal.
gruß Rene
AW: so läuft es
15.12.2004 20:26:08
Rene
Hallo Christoph,
Also ich hab es gestest und ich bin begeistert davon genau so brauchte ich es.Dafür Danke ich Dir.Nun mal noch eine Frage ist es möglich über VBA auch andere Dateien zu löschen? Als Beispiel mal wäre Zelle "G7" gleich eine Datei mit Namen "000.ps" würde das gehen und diese Datei die in dem Ordner C:\Temp liegt zu löschen?
Gruß Rene
Danke für die Rückmeldung ...
15.12.2004 20:43:51
Christoph
...freut mich, dir geholfen zu haben.
zu deiner neuen Frage:
ja, das geht. Aber so ad hoc hab ich da auch keinen Code parat.
Recherchier mal im Archiv hier bei Herber, da wirst du bestimmt fündig.
solltest du da gar nichts finden, dann stell die Frage in einem neuen Beitrag - so finden dann andere user unter "Datei löschen" auch wieder deinen Thread im Archiv.
Gruß
Christoph
Anzeige
AW: Danke für die Rückmeldung ...
15.12.2004 21:07:35
Rene
Hi Christoph,
Jo werde mich mal durchwühlen habe auch die CD von Herber da ist das Archiv drauf,und wenn nicht gibt es ja noch Euch die einem immer helfen können.Dieser Dank geht an dich und an alle anderen hier im Forum.
Grüße aus dem Schaumburger Land
Rene

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige