Office - Word, Excel und Co. 9.753 Themen, 41.606 Beiträge

Link to list_end Excel (2000/2002)

ainstein / 4 Antworten / Baumansicht Nickles

mit einem macro kann ich daten von einem sheet in eine liste so einfügen, dass sie immer ans ende gestellt werden, die liste also nach unten verlängert wird. das geht in dem bei dieser aktion zellen eingefügt werden und eine named range cell nach unten verschoben wird.

wegen anderen formeln möchte ich dieses sheet in Excel schützen und habe deshalb das blatt mit der macro-aktion in ein weiteres gestellt - weil zum zellen verschieben das blatt nicht geschützt sein darf/kann.

nun habe ich aber das problem: wie verknüpfe ich zellen auf dem display blatt mit den zellen in dem list-end blatt? Ich habe schon absolut und relative verknüpfung versucht. Auch named cell würde nix bringen, weil das ist ja der effect mit dem das einfügen von zellen eine verlängerung der liste ermöglicht.

z.B.: sheetA = display sheet; sheetB = list_end sheet; [] = zelle

in sheetA:
[A1]=[sheetB!A1]
[B1]=[sheetB!B1]
[A2]=[sheetB!A2]
[B2]=[sheetB!B2]
[A3]=[sheetB!A3]
[B3]=[sheetB!B3]

in sheetB [A2] = named as "list_end"

bei betätigen des macros wird in sheetB [A2] nach unten verschoben und somit zu [A3]. die darüber eingefügten zellen werden mit den entsprechenden daten für die liste gefüllt. das bedeutet aber, dass die alten zellen [A2] & [B2] zu [A3] & [B3] werden (in sheetB) und die verknüpfungen in sheetA entsprechend updated, werden zu:

in sheetA:
[A1]=[sheetB!A1]
[B1]=[sheetB!B1] => zeile 1, wie vorher
[A2]=[sheetB!A3]
[B2]=[sheetB!B3] => zeile 2, mit updated zell referenzen
[A3]=[sheetB!A4]
[B3]=[sheetB!B4] => zeile 3, wie zeile 2, nachedm nach unten verschoben (in sheetB)

ich möchte aber, dass die zell referenzen in sheetA nicht updated werden, somit wie in der ersten sequenz bleiben.
das ganze "beschränkt" sich auf eine tabelle 11x3, e.g A1:C11, im display-sheet, weil im list_end sheet wirde die tabelle ja länger...

wenn irgend jemand eine idee dazu hat wäre ich äußerst dankbar. Ich würde ja auch \'nen ganzen satz wenn-dann regeln rein setzen, wenn\'s was bringt.

Ich habe eine beispiel datei zusammengestellt; wenn jemand sich dran "spielen" möchte, dann kann ich das ding emailen (12k als zip).

Vielen Dank im Voraus.

\"Eine Sache ist nur verloren, wenn man sie aufgibt.\" (Freiherr von Stein)
bei Antwort benachrichtigen
hddiesel ainstein „Link to list_end Excel (2000/2002)“
Optionen

hallo

wegen anderen formeln möchte ich dieses sheet in Excel schützen und habe deshalb das blatt mit der macro-aktion in ein weiteres gestellt - weil zum zellen verschieben das blatt nicht geschützt sein darf/kann.

Hebe am Anfang des Makros den Schutz auf und setze ihn am Ende wieder.

Gruß

Windows 10 Pro 64-Bit, 22H2: MS Office Pro Plus 2016 32-Bit: Mein Motto: Leben und leben lassen: Gruss Karl
bei Antwort benachrichtigen
ainstein Nachtrag zu: „Link to list_end Excel (2000/2002)“
Optionen

und wie mach ich das im macro?

hab das teil auch nur wo "gelesen" und angewandt (umgewandelt)
- weil von macro programmieren hab ich sonst keine ahnung...

dank schon mal.

ainstein

\"Eine Sache ist nur verloren, wenn man sie aufgibt.\" (Freiherr von Stein)
bei Antwort benachrichtigen
hddiesel ainstein „Link to list_end Excel (2000/2002)“
Optionen

Hallo ainstein69

Blattschutz Aus / Schreiben in "Tabelle2" / Blattschutz Ein

Excel öffnen "Tabelle1" und "Tabelle2" anlegen.
Makro Code in Visual Basic Modul einfügen.
Beide Tabellen- Blätter schützen und Makro "Schutz_Aus_Schreiben_Ein" ausführen.

Sub Schutz_Aus_Schreiben_Ein()
'
' "Tabelle1" BlattSchutz Aus
Sheets("Tabelle1").Select
ActiveSheet.Unprotect

' "Tabelle2" BlattSchutz Aus
Sheets("Tabelle2").Select
ActiveSheet.Unprotect

' Schreibe in A5 "Hallo so gehts"
Sheets("Tabelle2").Select
[A5] = "Hallo so gehts"

' "Tabelle1" BlattSchutz Ein
Sheets("Tabelle1").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

' "Tabelle2" BlattSchutz Ein
Sheets("Tabelle2").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

Windows 10 Pro 64-Bit, 22H2: MS Office Pro Plus 2016 32-Bit: Mein Motto: Leben und leben lassen: Gruss Karl
bei Antwort benachrichtigen
ainstein Nachtrag zu: „Link to list_end Excel (2000/2002)“
Optionen

thanks for that info!

habe mich in mehreren ecken um hilfe umgesehen...
Ein freund hier hat mir auf die sprünge geholfen:
a) in einem vorschlag hat er auch den Schutz aufgehoben und hinterher wieder angewandt
b) in der zweiten version hat er mir das macro so umgesetzt, dass es funzt, so wie ich's mir vorgestellt habe:

- zeilen copiert und an entsprechender stelle (list_end) eingesetzt
- "list_end" name geslöscht,
- position nach unten verschoben
- "list_end" name wieder erstellt

sieht dann so aus - sorry alles english, weil da leb ich halt:

Sub
'(...)
Application.Goto Reference:="tempFees"
Application.CutCopyMode = False
Selection.Copy
Application.Goto Reference:="list_end"
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
ActiveWorkbook.Names("list_end").Delete
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveWorkbook.Names.Add Name:="list_end", ReferstoR1C1:=ActiveCell
Application.CutCopyMode = False
Application.Goto Reference:="tempFees"
Selection.ClearContents
Application.Goto Reference:="LearnerFin"
End Sub

und damit sind die verknüpfungen im display-blatt nicht beeinflusst

vielen dank nochmal

ainstein

\"Eine Sache ist nur verloren, wenn man sie aufgibt.\" (Freiherr von Stein)
bei Antwort benachrichtigen