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.

Excel 2010 Makro läuft nicht unter Excel 365
#1
Hallo zusammen,

Hatte unter Excel 2010 ein einfaches Makro, welches eine bestehende Tabelle am Ende um eine Zeile erweitert und einen Hyperlink in der ersten Zelle einfügt. Unter Excel 365 wird die Tabelle nicht mehr um eine Zeile erweitert und der Hyperlink wird unterhalb der Tabelle eingefügt.
Jemand eine Idee, was ich anpassen muss im Makro?

With ThisWorkbook.Worksheets("Projects").ListObjects("Projects")
            .Parent.Hyperlinks.Add _
              Anchor:=.Range(1, 1).Offset(.ListRows.Count + 1, 0), Address:="", _
              SubAddress:="'" & ID & "'!A1", _
              TextToDisplay:=ID
              End With


Besten Dank
Grüsse Pean
Antworten Top
#2
Zum besseren Verständnis, hier ganze Makro, welches unter Excel 2010 prima funktionierte, unter Excel 365 aber nicht mehr richtig.
Das Makro erstellt ein Tabellenblatt und fügt in einer Tabelle einen Hyperlink dazu ein. Rot markiert, der Teil, welcher nicht mehr korrekt funktioniert unter Excel 365.
Anstatt die Tabelle um eine Zeile zu erweitern, wird der Eintrag nur unter der Tabell eingefügt.

Sub new_Project()

    Dim sheet As Worksheet
    Dim ID As String
    Static lngCalc As Long
   
    With Application
            lngCalc = .Calculation
            .ScreenUpdating = False
            .EnableEvents = False
            .DisplayAlerts = False
            .Calculation = -4135
            .Cursor = xlWait
 
    End With

      ID = ThisWorkbook.Sheets("Projects").Cells(5, 2).Value
      ThisWorkbook.Sheets("template").Copy after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
  ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count).Name = ID
          With ThisWorkbook.Worksheets("Projects").ListObjects("Projects")
            .Parent.Hyperlinks.Add _
              Anchor:=.Range(1, 1).Offset(.ListRows.Count + 1, 0), Address:="", _
              SubAddress:="'" & ID & "'!A1", _
              TextToDisplay:=ID
          End With
 Exit Sub
Antworten Top
#3
Moin!
So ganz ohne Datei ist das Problem schwierig nachzuvollziehen.
Aber warum erweiterst Du das ListObject nicht "vorschriftsmäßig" und verlässt Dich statt dessen auf die automatische Erweiterung?

Natürlich ungetestet:
PHP-Code:
With ThisWorkbook.Worksheets("Projects").ListObjects("Projects").ListRows.Add
            
.Parent.Parent.Hyperlinks.Add _
              Anchor
:=.Cells(1), Address:=""_
              SubAddress
:="'" ID "'!A1"_
              TextToDisplay
:=ID
          End With 

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#4
Verwende nur:

Code:
Sub new_Project()
  With ThisWorkbook
    .Sheets("template").Copy , .Sheets(.Sheets.Count)
    .Sheets(.Sheets.Count).Name = .Sheets("Projects").Cells(5, 2).Value
    With .Sheets("Projects")
      .Hyperlinks.Add .Cells(Rows.Count, 1).End(xlUp).Offset(1), , .Sheets(.Sheets.Count).Cells(1).Address(, , , True), .Cells(5, 2).Value
      .ListObjects(1).Resize .Cells(1).CurrentRegion
    End With
  End With
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#5
Hallo RPP63,

Danke für deinen Input. Die Erweiterung der Tabelle würde so funktionieren, jedoch wird danach kein Hyperlink in der letzten Zelle eingetragen.

Grüsse Pean

Hallo SNB,

Danke auch dir für den Input.
Bekomme bei der Ausführung von 

.Hyperlinks.Add .Cells(Rows.Count, 1).End(xlUp).Offset(1), , .Sheets(.Sheets.Count).Cells(1).Address(, , , True), .Cells(5, 2).Value

folgende Fehlermeldung

"Objekt unterstützt diese Eigenschaft oder Methode nicht"

Grüsse
Pean
Antworten Top
#6
Hallo, 19 

bei mir funktioniert in Excel 365... 21

.xlsb   ListObject_Zeile_hinzufuegen_Hyperlink_setzen_CEF.xlsb (Größe: 16,83 KB / Downloads: 2)
________
Servus
Case
Antworten Top
#7
Hallo Pean,
Code:

With ThisWorkbook.Worksheets("Kundenliste").ListObjects("Tabelle2")
    .Resize Range(.Range.Address).Resize(.Range.Rows.Count + 1)
    .Parent.Hyperlinks.Add _
    Anchor:=.Range(1, 1).Offset(.ListRows.Count, 0), Address:="", _
    SubAddress:="'" & Kundennummer & "'!A1", _
    TextToDisplay:=Kundennummer

'  VBA, XML, HTML => Forum-HTML, © 2018 by KHV (VBA) und Haklesoft (VB)

Gruß Uwe
 
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • Pean
Antworten Top
#8
Vielen Dank Kuwert für deine schnelle Reaktion....funktioniert wieder perfekt.

Danke Case für dein Feedback....konnte die Lösung von Kuwert verwenden.


Grüsse
Pean
Antworten Top


Gehe zu:


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