excel: kopie als verknüpfung einfügen

  • #1
H

hans jupp

Bekanntes Mitglied
Themenersteller
Dabei seit
20.06.2003
Beiträge
473
Reaktionspunkte
0
hallo,

ich habe ein problem in excel xp:

ich habe eine tabelle mit werten. diese tabelle möchte ich ein anderes tabellenblatt als kopieren und transponieren.
gibt es eine möglichkeit, die kopie als verknüpfung einzufügen, damit wenn ich im ersten tabellenblatt eine zelle ändere, diese auch automatisch im zweiten tabellenblatt geändert wird?

die formeln zu kopieren oder zu ziehen klappt leider nicht, da die formeln in unterschiedlichen zellen stehen ...

vielen dank schon mal für eure hilfe :)
 
  • #2
Tabelle kopieren, in das andere Tabellenblatt springen, Inhalte einfügen und dort den Button Verknüpfen betätigen.

Hoffe das es bei Excel XP auch noch so ist ;)
 
  • #3
hallo bal bla,

ich hatte auch gedacht, daß das so funktioniert, aber sobald ich einen haken vor transponieren mache, kann ich bei xp verknüpfen nicht mehr auswählen ...
 
  • #4
Habe das Transponieren komplett ignoriert :-[
Das wird sicherlich nur mit Programmierung zu beheben sein.
 
  • #5
Hi kath.hundefriseursalon,

hier ist der Makro für dein Problem.

Gruß Matjes ;)

Code:
Option Explicit
Sub KopierenAlsVerwUndTransponieren()
' Die Selektion auf dem aktiven Blatt wird auf
' ein neues Tabellenblatt kopiert und transponiert.
'
' Statt der Werte werden Verweise auf das Ausgangsblatt
' angelegt.
'
' Die oberste, linke Zelle in der Selektion des Ausgangsblattes
' wird auf A1 des Zielblattes abgebildet.
'
' Wird die max. Spaltenanzahl auf dem Zielblatt
' überschritten, entfällt die Kopie/Transposition dieser
' Zellen.

Const c_max_col = 256
Const c_max_row = 65535
Dim zelle As Range, r As Range
Dim b_ZellenAusserhalbMaxSpalte As Boolean
Dim l_row_min As Long, l_col_min As Long, l_anz As Long
Dim l_offset_row As Long, l_offset_col As Long
Dim l_row As Long, l_col As Long
Dim s_TabName As String, s_Adr As String
Dim ws As Worksheet, ws2 As Worksheet

  Set ws = ActiveSheet
  Set r = Selection

 ->die oberste, linke Zelle in der Selektion feststellen
  l_row_min = c_max_row + 1->eine Zeile mehr als möglich
  l_col_min = c_max_col + 1->eine Spalte mehr alsmöglich
  l_anz = 0
  For Each zelle In r
    If zelle.Row < l_row_min Then l_row_min = zelle.Row
    If zelle.Column < l_col_min Then l_col_min = zelle.Column
    l_anz = l_anz + 1
  Next
  If l_anz > 1 Then
   ->offset für die Positionierung auf Zielblatt festlegen
    l_offset_row = l_col_min - 1
    l_offset_col = l_row_min - 1
  
   ->neues Blatt anfügen
    ActiveWorkbook.Worksheets.Add After:=ws
    Set ws2 = ActiveSheet
   ->Verweise transponiert auf Zielblatt setzen
    s_TabName = ws.Name
    For Each zelle In r
      l_col = zelle.Row - l_offset_col
     ->Spalte zulaessig ?
      If l_col <= c_max_col Then
        l_row = zelle.Column - l_offset_row
        s_Adr = zelle.Address(RowAbsolute:=False, ColumnAbsolute:=False)
        ws2.Cells(l_row, l_col).Formula = = & s_TabName & ! & s_Adr
      End If
    Next
  Else
    MsgBox (Nix selektiert :-()
  End If
  
  On Error Resume Next
  Set r = Nothing: Set ws = Nothing: Set ws2 = Nothing
End Sub
 
  • #6
hallo matjes,

ein hoch auf deine makros!

ich habe zwar noch nicht genau verstanden, was du da alles programmiert hast, aber es funktioniert auf jeden fall. ;D
ich werde mir das ganze heute nachmittag mal genauer ansehen.

vielen dank nochmal für deine hilfe :)
 
Thema:

excel: kopie als verknüpfung einfügen

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.965
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben