31.01.2024, 18:36
Hallo liebe Gemeinde,
ich weiß gerade nicht so wirklich, wo der Fehler liegt und bitte Euch um Unterstützung.
Ich habe ein Excelfile mit mehreren Arbeitsblättern. Auf dem Hauptarbeitsblatt mit dem Namen "Feldgeräteliste" sind alle Daten einer großen Lüftungsanlage aufgelistet. Wenn ich jetzt die Daten der Volumenstromregler aus dieser Feldgeräteliste ausdrucken möchte, habe ich ein separates Arbeitsblatt mit einem speziellen Layout. Mit einem VBA-Script suche ich nach Einträgen, welche mit "VVR" gekennzeichnet sind. VVR steht für variable Volumenstromregler. Das Script hat schon super funktioniert, aber dann habe ich auf der Zieltabelle "Print_VSR" eine Spalte gelöscht. Den VBA-Code habe ich angepasst, jedoch genau an der Löschstelle kann ich die Spalte nicht mehr adressieren.
Die Zeile mit Spalte 5/Raumbezeichnung/Montageort habe ich auskommentiert, da diese Spalte im Ausdruck der Zieltabelle nicht mehr benötigt wird. Jedoch wird der Versorgungsbereich Spalte 7 nicht dorthin geschrieben, sondern in die Spalte 8. Es sieht so aus, dass die Spaltennummern in dieser Tabelle sich durch die Löschung einer Spalte nicht angepasst haben. Ich habe aber geprüft mit =Spalte() - hier werden mir jedoch die aktuellen geänderten Spaltennummern angezeigt. Nur im VBA funktioniert das nicht, er adressiert nicht die richtigen Spalten hinter der Löschstelle. Füge ich wieder eine Spalte ein, stimmt alles.
Wo ist mein Gedankenfehler?
Vielen Dank für Eure Ideen,
Candalfo
ich weiß gerade nicht so wirklich, wo der Fehler liegt und bitte Euch um Unterstützung.
Ich habe ein Excelfile mit mehreren Arbeitsblättern. Auf dem Hauptarbeitsblatt mit dem Namen "Feldgeräteliste" sind alle Daten einer großen Lüftungsanlage aufgelistet. Wenn ich jetzt die Daten der Volumenstromregler aus dieser Feldgeräteliste ausdrucken möchte, habe ich ein separates Arbeitsblatt mit einem speziellen Layout. Mit einem VBA-Script suche ich nach Einträgen, welche mit "VVR" gekennzeichnet sind. VVR steht für variable Volumenstromregler. Das Script hat schon super funktioniert, aber dann habe ich auf der Zieltabelle "Print_VSR" eine Spalte gelöscht. Den VBA-Code habe ich angepasst, jedoch genau an der Löschstelle kann ich die Spalte nicht mehr adressieren.
Die Zeile mit Spalte 5/Raumbezeichnung/Montageort habe ich auskommentiert, da diese Spalte im Ausdruck der Zieltabelle nicht mehr benötigt wird. Jedoch wird der Versorgungsbereich Spalte 7 nicht dorthin geschrieben, sondern in die Spalte 8. Es sieht so aus, dass die Spaltennummern in dieser Tabelle sich durch die Löschung einer Spalte nicht angepasst haben. Ich habe aber geprüft mit =Spalte() - hier werden mir jedoch die aktuellen geänderten Spaltennummern angezeigt. Nur im VBA funktioniert das nicht, er adressiert nicht die richtigen Spalten hinter der Löschstelle. Füge ich wieder eine Spalte ein, stimmt alles.
Wo ist mein Gedankenfehler?
Vielen Dank für Eure Ideen,
Candalfo
Code:
' Kopiere die relevanten Zellen von der Quellzeile zur Zieltabelle
ZielBereich.ListRows(ZielZeile).Range.Cells(1, 1).Value = Zeile.Cells(1, 1).Text ' Anlagen BAS
ZielBereich.ListRows(ZielZeile).Range.Cells(1, 2).Value = Zeile.Cells(1, 2).Text ' Anlagenname
ZielBereich.ListRows(ZielZeile).Range.Cells(1, 3).Value = Zeile.Cells(1, 6).Text ' Feldgeräte BAS
ZielBereich.ListRows(ZielZeile).Range.Cells(1, 4).Value = Zeile.Cells(1, 8).Text ' Etage
'ZielBereich.ListRows(ZielZeile).Range.Cells(1, 5).Value = Zeile.Cells(1, 9).Text ' Raumbezeichnung/Montageort
ZielBereich.ListRows(ZielZeile).Range.Cells(1, 5).Value = Zeile.Cells(1, 10).Text ' Raumnummer
ZielBereich.ListRows(ZielZeile).Range.Cells(1, 6).Value = Zeile.Cells(1, 11).Text ' Bemerkung
ZielBereich.ListRows(ZielZeile).Range.Cells(1, 7).Value = Zeile.Cells(1, 19).Text ' Versorgungsbereich
ZielBereich.ListRows(ZielZeile).Range.Cells(1, 8).Value = Zeile.Cells(1, 20).Text ' ZUL/ABL
ZielBereich.ListRows(ZielZeile).Range.Cells(1, 9).Value = Zeile.Cells(1, 21).Text ' AUF/ZU
ZielBereich.ListRows(ZielZeile).Range.Cells(1, 10).Value = Zeile.Cells(1, 22).Text ' 0%-100%
ZielBereich.ListRows(ZielZeile).Range.Cells(1, 11).Value = Zeile.Cells(1, 23).Text ' 0-10V
ZielBereich.ListRows(ZielZeile).Range.Cells(1, 12).Value = Zeile.Cells(1, 24).Text ' 24V
ZielBereich.ListRows(ZielZeile).Range.Cells(1, 13).Value = Zeile.Cells(1, 25).Text ' Nenn-Volumenstrom
ZielBereich.ListRows(ZielZeile).Range.Cells(1, 14).Value = Zeile.Cells(1, 26).Text ' Sollwert-Volumenstrom 1
ZielBereich.ListRows(ZielZeile).Range.Cells(1, 15).Value = Zeile.Cells(1, 27).Text ' Stellsignal-Volumenstrom 1
ZielBereich.ListRows(ZielZeile).Range.Cells(1, 16).Value = Zeile.Cells(1, 28).Text ' Sollwert-Volumenstrom 2
ZielBereich.ListRows(ZielZeile).Range.Cells(1, 17).Value = Zeile.Cells(1, 29).Text ' Stellsignal-Volumenstrom 2
ZielBereich.ListRows(ZielZeile).Range.Cells(1, 18).Value = Zeile.Cells(1, 30).Text ' Aufschaltung Rückmeldung 0-10V
ZielBereich.ListRows(ZielZeile).Range.Cells(1, 19).Value = Zeile.Cells(1, 31).Text ' VSR-Regler Typ-Bezeichnung