Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Eingabe
#1
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


Angehängte Dateien
.xlsm   Tabelle Muster ohne Daten mit Markro 1.xlsm (Größe: 568,8 KB / Downloads: 5)
Antworten Top
#2
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
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#3
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.
Antworten Top
#4
Hi,


zum Lesen:

https://www.fernuni-hagen.de/imperia/md/...0/b012.pdf
http://www.online-excel.de/excel/grusel_vba.php?f=6
http://www.vba-tutorial.de/
https://www.youtube.com/watch?v=L2mYkaOD9N4
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#5
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.
Antworten Top
#6
Hi Ralf,

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

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#7
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]
Antworten Top
#8
Hi Ralf,


habe ich falsch formuliert:

Sheets("Tabelle4") geht nicht, da keine Tabelle mit Sheets.Name= "Tabelle4" vorhanden ist!
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
[-] Folgende(r) 1 Nutzer sagt Danke an BoskoBiati für diesen Beitrag:
  • Rabe
Antworten Top
#9
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
Antworten Top
#10
Hi,

zum Beispiel.
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste