Clever-Excel-Forum

Normale Version: Eingabe
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo,

ich bin am verzweifeln. Ich versuche mich an VBA. Ziel sollte sein, das wenn ich in den in Tabelle 2 Änderungen vornehme, dass die dann auch in anderen Tabellen an unterschiedlichen Stellen geändert werden. Egal was ich bisher versucht hab es funktioniert einfach nicht.  Vielleicht kann mir jemande helfen. 

Ich dachte das folgendermaßen. Ich mache Änderungen in Tabelle 2 in Spalte B und diese Eintragungen sollen dann an folgenden Stellen erscheinen:

in Tabllelle 7 nur in Spalte C Zeilen 18 bis 53

In Tabelle 8 Spalte y ab Zeile 19 bis 29

Kann mir jemand Tipps geben, was ich hier falsch mache?

Viele Grüße

ich Benutze Office 365
Hallo,

1. Es gibt keine "Tabelle4" in Deiner Datei! Entweder Du beziehst Dich auf



Code:
Tabelle4



oder auf


Code:
Sheets("2. Railway Market China")


2. gehört der Code nicht in ein Modul, sondern hinter die Tabelle, in der das Ereignis stattfinden soll!



Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim zNr() As Variant, spNr() As Variant
Dim n As Integer
Dim loZeile As Long
Dim help As String
loZeile = 0
' Überprüfen, ob richtige Spalte (Spalte B)
If Target.Column <> 2 Then Exit Sub
zNr = Array(36, 38, 39, 41) ' usw.
spNr = Array(12, 11, 10)
For n = LBound(zNr) To UBound(zNr)
    If Target.Row = zNr(n) Then loZeile = n
Next
If loZeile <> 0 Then
    Tabelle6.Cells(9, spNr(loZeile)) = Tabelle4.Cells(36, 2)
End If
End Sub
wenn ich die Bezeichhnung für Tabelle 4 Ändere in sheets oder in Railway...... dann passiert gar nichts. 

Verstehe auch nicht so wirklich, was du meinst.
Hi,
die Datei anzuschauen ist mir zu umständlich.
Du hast riesengroße Schriftgrößen und Spaltenbreiten und dafür dann den Zoomfaktor auf 10%. Das ist doch Lötzinn!

Das ist mir zu umständlich, das anzupassen, um die Tabellen erst mal überhaupt zu verstehen.
Hi Ralf,

Du brauchst eigentlich gar keine Tabelle ansehen, die Fehler habe ich schon angemerkt, wenn man die korrigiert funktioniert das Ganze.
Hi Edgar,

naja, das konnte ich nicht nachvollziehen, ich sehe da den Unterschied in Deinem Beitrag nicht:
Edgar schrieb:1. Es gibt keine "Tabelle4" in Deiner Datei! Entweder Du beziehst Dich auf

Code:
[code]Tabelle4]/code]
Hi Ralf,


habe ich falsch formuliert:

Sheets("Tabelle4") geht nicht, da keine Tabelle mit Sheets.Name= "Tabelle4" vorhanden ist!
also wenn ich es jetzt richtig verstanden habe, dann muss das ganze jetzt so aussehe?

Code:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  
   ' Überprüfen, ob richtige Spalte (Spalte B)
   If Target.Column <> 2 Then Exit Sub
  
   Dim zNr() As Variant, spNr() As Variant
   Dim n As Integer
   Dim JaNein As Boolean
   Dim help As String
  
   ' Zeilennummern in 'Tabell4', die überwacht werdsen
   zNr = Array(36, 38, 39, 41) ' usw.
  
   JaNein = False
  
   For n = 0 To UBound(zNr)
      If Target.Row = zNr(n) Then JaNein = True: Exit For
   Next n
  
   If JaNein = False Then Exit Sub
  
  
   ' Spaltennummern in 'Tabelle6', bei denen dann etwas geändert wird
   spNr = Array(12, 11, 10)    ' usw.
  
   help = Worksheets("2. Railway Market China").Cells(36, 2).Value
  
   Worksheets("Cross-linkin matrix").Cells(9, spNr(n)).Value = help
  
End Sub
Hi,

zum Beispiel.
Seiten: 1 2