Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
236to240
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
236to240
236to240
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Ergebnis aktualisieren

Ergebnis aktualisieren
31.03.2003 10:33:33
Rolf St.
Hallo !
Vielleicht könnt ihr mir bei folgenden Problem helfen?

Ablauf:
In Spalten C2:D1000 werden in Spalte C Buchstaben und Spalte D Zahlen eingegeben.
Daraus wird das Ergebnis, durch ein Makro im Tabellenblatt, ermittelt und in Spalte E eingetragen.

Problem
Ich möchte aus einer anderen Datei Inhalte kopieren und in Spalte C2:D1000 einfügen.
Dann soll eine Neuberechnung, des Ergebnisses in Spalte E, mit Button Aktualisieren erfolgen.

Vielen Dank für eure Hilfe!

Tschüß
Rolf

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Ergebnis aktualisieren
31.03.2003 11:16:53
Kobra

Hi,

Dein Makro muss ein Private Sub sein, dann kannst Du Dir einen CommanButton in deiner Tabelle erstellen un dann durch

Private Sub CommandButton1_Click()
Call DeinMakroName
End Sub

Dein Makro erneut ausführen

Gruss
Markus

Re: Ergebnis aktualisieren
31.03.2003 16:16:05
Rolf St

Hallo Markus!
Vielen Dank für deine Unterstützung!

In meinem Tabellblatt steht:
Private Sub Worksheet_Change(ByVal Target As Range)

Ich möchte aber nicht, das das ganze Makro neu abläuft

Eigentlich möchte ich nur folgendes erreichen:
(Habe ich mit dem Makrorecorder aufgezeichnet)

Sub akaktuell()
'
Range("E2:E1000").Select
Application.CutCopyMode = False
Selection.ClearContents
Range("C2:D2").Select
Selection.Copy
ActiveSheet.Paste
Range("C3:D3").Select
Application.CutCopyMode = False
Selection.Copy
ActiveSheet.Paste
Range("C4:D4").Select
Application.CutCopyMode = False
Selection.Copy
ActiveSheet.Paste
Range("C5:D5").Select
Application.CutCopyMode = False
Selection.Copy
ActiveSheet.Paste
Range("D2").Select
End Sub

folgendes funktioniert nicht:

Sub akaktuelltest()
' funtioniert nicht
'
Range("E2:E1000").Select
Application.CutCopyMode = False
Selection.ClearContents
Range("C2:D1000").Select
Selection.Copy
Range("C2:D1000").Select
ActiveSheet.Paste
Range("D2").Select
End Sub

Kannst du noch einmal helfen?

Tschüß
Rolf



Anzeige
Re: Ergebnis aktualisieren
01.04.2003 09:14:31
Kobra

Hi Rolf,

ich verstehe nicht ganz, was Du mit dem Kopieren und an gleicher Stelle wieder einfügen erreichen möchtest.

Du hast sicherlich ein anderes Makro, welches die Berechnung für Spalte E ausführt. und dieses müsste einfach nach einem Buttonklick nochmal ausgeführt werden.

Melde Dich bitte nochmal, vielleicht kann ich helfen.

Gruss
Markus

Re: Ergebnis aktualisieren
01.04.2003 21:35:11
Rolf St.

Hallo Markus,
vielen Dank für deine Hilfe!

folgendes Makro läuft in dem Tabellenblatt Stammdaten.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim lngZeile As Long
Dim intCounter As Integer
Dim varSuche As Variant, varErgebnis1 As Variant
Dim varErgebnis2 As Variant, varErgebnis3 As Variant
'Makro wird nur bei Eingaben in Spalten D, E und I ausgeführt.
If Target.Column < 4 Then Exit Sub
If Target.Column >= 6 And Target.Column <= 8 Then Exit Sub
If Target.Column > 9 Then Exit Sub
If Target.Column < 9 Then
'Wenn D oder E leer ist, wird der Bereich F:H gelöscht
'und das Makro nicht weiter ausgeführt.
If IsEmpty(Range("D" & Target.Row)) Or _
IsEmpty(Range("E" & Target.Row)) Then
Application.EnableEvents = False
If Selection.Count = 1 Then
'Wurde nur 1 Zelle gelöscht, wird der Bereich F:H in
'der betreffenden Zeile gelöscht.
Range("F" & Target.Row & ":F" & Target.Row).ClearContents
Else 'Wurde ein Zellbereich gelöscht, wird auch der gesamte
'Bereich in F:H gelöscht
Range("F" & ActiveCell.Row & ":F" & ActiveCell.Row + _
Selection.Rows.Count - 1).ClearContents
End If
Application.EnableEvents = True
Exit Sub
'Wenn beide Werte in D und E numerisch sind, wird die Kombination
'der beiden Werte auch als Zahl behandelt.
ElseIf IsNumeric(Range("D" & Target.Row)) And _
IsNumeric(Range("E" & Target.Row)) Then
varSuche = (Range("D" & Target.Row) & Range("E" & Target.Row)) * 1
'Wenn einer der beiden Werte Text ist, wird auch die Kombination
'der beiden Werte als Text behandelt.
Else: varSuche = Range("D" & Target.Row) & Range("E" & Target.Row)
End If
With Worksheets("Klasseneinteilung").Range("A:A")
'Ist der Suchbegriff nicht vorhanden, wird zum ErrorHandler
'verzweigt und eine Fehlermeldung angezeigt.
On Error GoTo ErrorHandler
'Gibt es den Suchbegriff in Tabelle2, Spalte A wird
'die Zeilennummer ermittelt,
lngZeile = WorksheetFunction.Match(varSuche, .Range("A:A"), 0)
'der dazugehörige Wert aus Spalte B ausgelesen,
varErgebnis1 = .Range("B" & lngZeile).Value
'der dazugehörige Wert aus Spalte C ausgelesen,
' varErgebnis2 = .Range("C" & lngZeile).Value
'der dazugehörige Wert aus Spalte C ausgelesen.
' varErgebnis3 = .Range("D" & lngZeile).Value
If Selection.Count = 1 Then
'In Tabelle1, Spalten F, G und H (gleiche Zeile) eintragen.
Range("F" & Target.Row).Value = varErgebnis1
' Range("G" & Target.Row).Value = varErgebnis2
' Range("H" & Target.Row).Value = varErgebnis3
Else 'Wird mit Strg+Enter in einen Bereich eingegeben, werden
'die Ergebnisse aus Tabelle2 in jeder Zeile eingetragen.
For intCounter = 1 To Selection.Rows.Count
Range("F" & ActiveCell.Row - 1 + intCounter).Value _
= varErgebnis1
' Range("G" & ActiveCell.Row - 1 + intCounter).Value _
' = varErgebnis2
' Range("H" & ActiveCell.Row - 1 + intCounter).Value _
' = varErgebnis3
Next intCounter
End If
Exit Sub
End With
Else 'Bei Eingabe in Spalte I
'Ist der Suchbegriff nicht vorhanden, wird zum ErrorHandler_I
'verzweigt, eine Fehlermeldung angezeigt, die Eingabezelle
'ausgewählt und die Prozedur verlassen.
On Error GoTo ErrorHandler_I
'Bei einzelner Zelle wird die Prozedur abgebrochen, wenn diese
'Zelle leer ist, sonst wird die Eingabe als Suchbegriff fest-
'gelegt. Bei Mehrfachauswahl wird die Prozedur abgebrochen,
'wenn die aktive Zelle leer ist, sonst wird der Inhalt der
'aktiven Zelle als Suchbegriff festgelegt.
If Selection.Count = 1 Then
If IsEmpty(Target) Then Exit Sub
varSuche = Target.Value
Else: If IsEmpty(ActiveCell) Then Exit Sub
varSuche = ActiveCell.Value
End If
'Wird der Suchbegriff "varSuche" in Spalte E gefunden, passiert
'nichts weiter. Gibt es ihn nicht, wird durch die "On Error"-
'Anweisung eine Fehlermeldung angezeigt.
lngZeile = WorksheetFunction.Match(varSuche, Worksheets("Klasseneinteilung") _
.Range("E:E"), 0)
Exit Sub
End If
ErrorHandler:
MsgBox "Der Suchbegriff " & varSuche & " ist in " & _
"dem Tabellenblatt Klasseneinteilung nicht vorhanden!", vbCritical
Target.Select
Exit Sub
ErrorHandler_I:
MsgBox "Der Suchbegriff " & varSuche & " ist in " & _
"dem Tabellenblatt Klasseneinteilung nicht vorhanden!", vbCritical
Target.Select
End Sub

Vielleicht kannst du damit etwas anfangen?

Ich möchte erreichen, daß wenn ich mehrere Inhalte in Spalte
D und E einfüge der Wert in Spalte F neu berechnet wird.

Tschüß
Rolf





Anzeige
Re: Ergebnis aktualisieren
02.04.2003 11:08:32
Kobra

Hi,

versuch mal einen Button in deine Tabelle zu legen, dem Button weißt Du dann folgenden Code zu.

Private Sub CommandButton1_Click()
Run "Tabelle1.Worksheet_Change", Range("c1:d1000")
End Sub

Tabelle1 und den Range musst Du noch anpassen.

Gruss
Markus

Re: Ergebnis aktualisieren
02.04.2003 20:51:58
Rolf St.

Hallo Markus,
funktioniert leider auch nicht!

Trotzdem Danke für deine Hilfe !!

Tschüß
Rolf

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige