HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Entdecke rund 2 Millionen Excel-Lösungen im
Forumsarchiv
Forumbeitrag
Excel-Version des Fragestellers:
365 Business
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
Stefan Sch.
21.04.2026 16:52:59
AW: Es könnte reichen,...
Hallo Case,

vielen Dank für deine Vorschläge, Nr. 1 und 2 funktionieren leider nicht.

Deinen VBA Code habe ich mal getestet, wenn ich das richtig sehe, habe ich da allerdings keine dynamische Komponente.
Wenn ich einen Zellenwert ändere, muss ich erst nochmal das Makro drüberlaufen lassen, damit ein aktualisierter QR Code ausgegeben wird.

Von der Funktionalität soll es so sein ... öffnen der Datei, Werte in den abgefragten Zellen eingeben bzw. diese anpassen ... mit sofortiger Aktualisierung des QR Codes, was mit der Bildfunktion gut klappt.

Grüße
Stefan
Als Antwort auf diesen Beitrag
Case
21.04.2026 14:56:41
Es könnte reichen,...
Moin Stefan, :-)

... wenn du z. B. so schreibst: ;-)

=JETZT()*0+BILD("">https://api.qrserver.com/v1/create-qr-code/?data="&G56&BB56&X56&BB56&AQ56&BB56)&""


Oder per VBA beim Öffnen der Datei (also Code unter "DieseArbeitsmappe"): ;-)

Option Explicit

Private Sub Workbook_Open()
ThisWorkbook.RefreshAll
End Sub


Oder du lässt die BILD-Funktion ganz weg und baust es dir per VBA auf: ;-)

Option Explicit

Public Sub Main()
Dim picBild As Picture
Dim strQRURL As String
Dim rngRange As Range
Dim shpShape As Shape
Application.ScreenUpdating = False
With Tabelle1
Set rngRange = .Range("H5")
strQRURL = "https://api.qrserver.com/v1/create-qr-code/?data=" & _
.Range("A1").Value & _
.Range("B1").Value & _
.Range("C1").Value & _
.Range("B1").Value & _
.Range("D1").Value & _
.Range("E1").Value
For Each shpShape In .Shapes
If shpShape.TopLeftCell.Address = rngRange.Address Then
shpShape.Delete
End If
Next shpShape
Set picBild = .Pictures.Insert(strQRURL)
With picBild
.Left = rngRange.Left
.Top = rngRange.Top
.Width = rngRange.Width
.Height = rngRange.Height
.Placement = xlMoveAndSize
End With
End With
Application.ScreenUpdating = True
End Sub


Ich denke du siehst, wo du anpassen musst (die Zellen und eventuell Tabelle1 - das ist der Codename des Tabellenblattes). ;-)

Sieht dann so aus: ;-)

Userbild

Servus
Case
Folgenachrichten
Antwort auf Beitrag erstellen
Bitte einen Anwendernamen ohne @ eingeben.
Bitte das Passwort eingeben.
Bitte eine gültige E-Mail-Adresse eingeben.
Bitte einen Betreff eingeben.
Weitere Optionen
Aktivieren, wenn die Frage/der Beitrag noch nicht beantwortet wurde und unter Listen > Offene Threads erscheinen soll.
Beispieldatei hochladen

Bitte einen Nachrichtentext eingeben.