Anzeige
Archiv - Navigation
428to432
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
428to432
428to432
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Erweitern einer Formel

Erweitern einer Formel
13.05.2004 10:44:27
Regnar
Moin ich habe vorhin nach einer Schleifen Programmierung gefragt und auch prompt eine tolle Hilfe bekommen nur jetz mein Problem ich kriege die nicht auf mehrere Zeilen erweitert...

Private Sub Worksheet_Change(ByVal Target As Range)
Dim xWks As Worksheet
Set xWks = ThisWorkbook.Worksheets(1)
y = xWks.Cells(1, 5)
If y > 0 And y < 53 And IsNumeric(y) Then
xWks.Cells(4, 15 + 3 * y).Value = xWks.Cells(4, 14).Value
End If
End Sub

Hiermit funktioniert es super für Zeile 4
Ich als blutiger Neuling dachte mir für Zeile 5 mache ich einfach den hier

Private Sub Worksheet_Change1(ByVal Target As Range)
Dim xWks As Worksheet
Set xWks = ThisWorkbook.Worksheets(1)
y = xWks.Cells(1, 5)
If y > 0 And y < 53 And IsNumeric(y) Then
xWks.Cells(5, 15 + 3 * y).Value = xWks.Cells(5, 14).Value
End If
End Sub

Aber das wird nix voran liegt das?

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Erweitern einer Formel
13.05.2004 10:51:04
Holger
der Code ist richtig (gilt nun für Zeile 5)
Holger
AW: Erweitern einer Formel
13.05.2004 10:53:48
Regnar
Er funktioniert aber nicht in Zeile 5!
Muss ich das irgendwie verknüpfen verschachteln oder ähnliches?
AW: Erweitern einer Formel
13.05.2004 10:56:07
Holger
nein, der Code so gilt (nach meiner Einschätzung) für Zeile 5. Kann da ein anderer Denkfehler sein? Notfalls stelle die Datei ins Netz.
mfg Holger
AW: Erweitern einer Formel
13.05.2004 11:01:27
Regnar
Die Datei kann ich leider nicht ins Netz stellen da das anscheinend nur mit jpg und gif geht...
Vielleicht missverstehen wir uns die obere Progrmmierung macht das für die Zelie 4 und das klappt auch aber die untere die das für Zeile 5 machen soll tut das eben nicht und ich verstehe weder warum noch wieso und eigentlich verstehe ich gar nix mehr...
Anzeige
AW: Erweitern einer Formel
13.05.2004 11:24:38
Holger
doch, ich habe Dich verstanden. Die Exceldatei kannst Du auch reinstellen (konventionelle Namensgebung!).
So kann ich nicht weiterhelfen.
mfg Holger
AW: Erweitern einer Formel
13.05.2004 11:29:48
Regnar
https://www.herber.de/bbs/user/6292.xls
Ich hoffe mal ich habe das richtig gemacht.
In E1 wird die KW eingetragen
daraufhin soll er den Wert aus N4 in das entsprechende Feld Ist der KW packen
AW: Change statt Change1
Martin
Hallo Regnar,
es muß in der ersten Zeile
Private Sub Worksheet_Change1(ByVal Target As Range)
Change und nicht Change1 heißen.
Du kannst für ein Worksheet immer nur eine Change-Ereignisprozedur haben. Konsequenz: schreib den Code für Zeile 5 unter den für Zeile 4. Oder verwende eine Schleife (insb. wenn es noch mehr zu bearbeitende Zeilen gibt).
Gruß
Martin Beck
Anzeige
AW: Change statt Change1
13.05.2004 11:45:13
Regnar
Danke für den Tip wie müsste denn die Schleife aussehen ich bin doch noch Anfänger...
Mit Schleife
Martin
Hallo Regnar,

Private Sub Worksheet_Change(ByVal Target As Range)
Dim xWks As Worksheet
Set xWks = ThisWorkbook.Worksheets(1)
y = xWks.Cells(1, 5)
If y > 0 And y < 53 And IsNumeric(y) Then
For i = 4 To 5
xWks.Cells(i, 15 + 3 * y).Value = xWks.Cells(i, 14).Value
Next i
End If
End Sub

Ungetestet!!!
Gruß
Martin Beck
AW: Mit Schleife
13.05.2004 11:56:11
Regnar
Das Problem bei dieser Variante ist leider das er anfängt zu rechnen und selbst nach 10 Minuten noch nicht fertig ist...
Kann man da irgendwas machen?
Anzeige
AW: Endlosschleife
Martin
Hallo Regnar,
der Code gerät in eine Endlosschleife, da ja Einträge in dem Tabellenblatt vorgenommen werden, was jedesmal das Change-Ereignis erneut auslöst.
Möchtest Du, daß der Code nur abgearbeitet wird, wenn Du Einträge in eine bestimmte Zelle machst? Das wäre am einfachsten zu lösen. Wenn ja, welche Zelle ist es? E1?
Gruß
Martin Beck
AW: Endlosschleife
13.05.2004 12:32:19
Holger
genau das ist das Problem: was soll passieren und wann. Ich vermute (!), dass Excel eine Auflistung machen sol, wenn E1 geändert werden soll. Dann sollen alle Zellen A4 bis A... eingetragen werden. Da kann uns nur Regnar helfen.
mfg Holger
Anzeige
AW: Auf Verdacht
Martin
Hallo Holger,
hast Recht. Ich habe gerade gesehen, daß es einen abgebrochenen Vorläuferthread gibt, der Deine Vermutung erhärtet. Daher auf Verdacht:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim xWks As Worksheet
Set xWks = ThisWorkbook.Worksheets(1)
y = xWks.Cells(1, 5)
If y > 0 And y < 53 And IsNumeric(y) And Target.Address = "$E$1" Then
For i = 4 To 5
xWks.Cells(i, 15 + 3 * y).Value = xWks.Cells(i, 14).Value
Next i
End If
End Sub

Gruß
Martin Beck
AW: Auf Verdacht
13.05.2004 13:08:33
Regnar
Exakt das war der Punkt es soll sich nur ändern wenn in E1 was geatn wird!
Und das schönste es funktioniert mit dem letzten Code Vielen Dank ihr seid meine Helden!!!!
Anzeige
AW: Auf Verdacht
13.05.2004 13:15:58
Holger
und jetzt passe noch for i=4 to 15 (oder bis wo auch immer) an, dann kann die Frage geschlossen werden.
mfg Holger
AW: Auf Verdacht
13.05.2004 13:18:19
Regnar
Schon erledigt so langsam lerne ich ja auch was...
BTW: Ich finde so lernt man mehr als mit Büchern ich habe zwei die ganze Zeit neben mir aber geholfen haben die bisher nicht...
Allerdings bleibt ein Problem übrig dafür habe ich einen neuen Frad aufgemacht.
AW: Auf Verdacht
13.05.2004 13:22:17
Holger
gut, dann lass uns den Beitrag beenden, also bitte nicht mehr "Frage noch offen" aktivieren
Holger

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige