Daten von verschiedenen Tabellenblättern

03/04/2008 - 20:24 von Jörg Klein | Report spam
Hallo liebe Excelgemeinde,

vielen Dank an alle, die mir bei der Lösung meines ersten Excelprgramms
geholfen haben. Einen besonderer Dank geht an Peter Schleif. Peter, bitte
wundere dich nicht, ich habe beide Programmteile in zwei verschiedenen
Programmen in Gebrauch. Es funktioniert soweit alles sehr gut.
Ich habe noch eine Frage. Ich habe in einer Arbeitsmappe drei Datenblàtter.
Von Datenblatt 1 bekomme ich die Daten per Webabfrage in Zelle B28. Die
Zelle B28 möchte ich in Tabellenblatt 3 weiterverarbeiten. Ich habe also die
Zelle mit =Tabelle1!B28 in das Datenblatt 3 in die Zelle B16 kopiert. Die
Daten werden in Zelle B16 richtig eingefügt. Nur werden sie von dem Code,
den ich in den Anhang gehàngt habe nicht weiterverarbeitet. Der Code den ich
hier engefügt habe, habe ich in Datenblatt 3 eingefügt.

Was habe ich vergessen?

Grüße Jörg

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address(False, False) <> "B16" Then Exit Sub

On Error GoTo ende
Application.EnableEvents = False

With Sheets("Tabelle1") 'Name der Tabelle, von der ich die Daten zur
Weiterverarbeitung beziehe.

If WorksheetFunction.RoundDown([B16] / [C10], 0) =
WorksheetFunction.RoundDown([C16] / [C10], 0) Then
[B21] = 0
[C21] = 0
Else
If Not
Range("F25:F49").Find(What:=Replace(WorksheetFunction.Round([B16], 2) -
[D10], ",", "."), LookIn:=xlValues, LookAt:=xlWhole) Is Nothing Then
[B21] = ""
[C21] = 0
Else
[B21] = WorksheetFunction.Round([B16], 1) - [D10]
[C21] = [E10]
End If
End If
End With

ende:
[C16] = [B16]
Application.EnableEvents = True
End Sub
 

Lesen sie die antworten

#1 Stefan Anderl
04/04/2008 - 09:46 | Warnen spam
"Jörg Klein" wrote:

Hallo liebe Excelgemeinde,

vielen Dank an alle, die mir bei der Lösung meines ersten Excelprgramms
geholfen haben. Einen besonderer Dank geht an Peter Schleif. Peter, bitte
wundere dich nicht, ich habe beide Programmteile in zwei verschiedenen
Programmen in Gebrauch. Es funktioniert soweit alles sehr gut.
Ich habe noch eine Frage. Ich habe in einer Arbeitsmappe drei Datenblàtter.
Von Datenblatt 1 bekomme ich die Daten per Webabfrage in Zelle B28. Die
Zelle B28 möchte ich in Tabellenblatt 3 weiterverarbeiten. Ich habe also die
Zelle mit =Tabelle1!B28 in das Datenblatt 3 in die Zelle B16 kopiert. Die
Daten werden in Zelle B16 richtig eingefügt. Nur werden sie von dem Code,
den ich in den Anhang gehàngt habe nicht weiterverarbeitet. Der Code den ich
hier engefügt habe, habe ich in Datenblatt 3 eingefügt.

Was habe ich vergessen?

Grüße Jörg

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address(False, False) <> "B16" Then Exit Sub

On Error GoTo ende
Application.EnableEvents = False

With Sheets("Tabelle1") 'Name der Tabelle, von der ich die Daten zur
Weiterverarbeitung beziehe.

If WorksheetFunction.RoundDown([B16] / [C10], 0) =
WorksheetFunction.RoundDown([C16] / [C10], 0) Then
[B21] = 0
[C21] = 0
Else
If Not
Range("F25:F49").Find(What:=Replace(WorksheetFunction.Round([B16], 2) -
[D10], ",", "."), LookIn:=xlValues, LookAt:=xlWhole) Is Nothing Then
[B21] = ""
[C21] = 0
Else
[B21] = WorksheetFunction.Round([B16], 1) - [D10]
[C21] = [E10]
End If
End If
End With

ende:
[C16] = [B16]
Application.EnableEvents = True
End Sub


Die IF-Zeile etwa wertet nicht "Tabelle1", sondern die AKTUELLE Tabelle aus. Ich würde das mit Sheets("Tabelle1").cells ... erweitern. Das gleiche gilt m.e. für die Zellen in den eckigen Klammern innerhalb des With ... end with-Rumpfes. Am sichersten ist es, alles mit dem auszuwertenden Worksheet zu qualilfizieren oder aber es muß mit "." auf das with sheets("Tabelle1") referenziert werden.



Stefan Anderl

Ähnliche fragen