Excel VBA: Bild einfügen, in Variable speichern, Größe ändern, ausrichten?

Ich habe jetzt unzähle Varianten durch. Ich baue ein Bestellsystem für zwei verschieden Shops. Heißt, bei jedem eingetragenen Artikel in die Bestellliste soll am Ende der Listen-Zeile das jeweilige Logo eingefügt werden, kleiner als das Originalbild, kleiner als die Zeile selbst, für die Übersichtlichkeit in der Liste, mittig ausgerichtet.

Ich habe von Pictures.Insert zu Shapes.AddPicture gewechselt, da ich gelesen habe, dass dies die korrektere Form sei. Jetzt bekomme ich eine Fehlermeldung bei der Festlegung eines Rahmens.
Kann mir jemand meine Fehler aufzeigen? Folgende Fragen stellen sich mir:
- Welchen Variablen-Typ brauche ich für ein eingefügtes Bild?
- Wie kann ich diese Variable dann verwenden, um Größe, Position und Rahmen festzulegen?

Danke sehr!!!!!!

Sub LogoEinfügen(Shop As String, Zeile As Integer, Spalte As Integer)

Dim Breite As Integer
Dim Höhe As Integer
Dim strDatei As String
Dim Logo As Object
Dim ShopFarbe As Long, Rot As Long, Blau As Long

' Farben für die zwei Shops festlegen
Rot = 26316
Blau = 13395456

' Dateinamen je nach Shop auswählen und Shop-Farbe einstellen
If Shop = "ZL" Then
  strDatei = "D:\logo1.jpg"
  ShopFarbe = Rot
End If

If Shop = "AQ" Then
  strDatei = "D:\logo2.jpg"
  ShopFarbe = Blau
End If

' Bild einfügen

' Ort festlegen
Dim rg As Range
Set rg = ActiveSheet.Cells(Zeile, Spalte)

' Und einfügen
Set Logo = ActiveSheet.Shapes.AddPicture(strDatei, msoTrue, msoTrue, rg.Left, rg.Top, -1, -1)
Set rg = Nothing

With Logo
      .LockAspectRatio = msoFalse              ' Verzerrung egal
      .Height = Rows(Zeile).RowHeight - 4      ' kleiner als Zeile
      .Width = Columns(Spalte).Width - 4       ' schmaler als Spalte
      .Top = Cells(Zeile, Spalte).Top + (Cells(Zeile, Spalte).Height - Logo.Height) / 2         ' mittig
      .Left = Cells(Zeile, Spalte).Left + (Cells(Zeile, Spalte).Width - Logo.Width) / 2          ' mittig
  End With
  
  ' Rahmen ums Bild, in der Farbe des Shops
  With Logo.ShapeRange.Line
    .Visible = msoTrue
    .ForeColor.RGB = ShopFarbe
    .Weight = 1.5
    .ForeColor.TintAndShade = 0
  .ForeColor.Brightness = 0
End With

Set Logo = Nothing

' Zeilenhöhe anpassen
' Rows(Zeile).RowHeight = Logo.Height
 
End Sub
Computer, Microsoft Excel, VBA
CSV Datei in Php als Tabelle ausgeben?

Hallo, bin ziemlich neu in Php und will ein Programm erstellen, wo man eine Tablle mit Produktgruppe, Datum und Umsatz einliest und das Programm das automatisch als Graphische Tabelle ausgibt, zudem soll das Datum in 4 Quartale sortiert werden.

Ist keine Hausaufgabe!!

Bin noch nicht so weit gekommen:

CSV-Datei:

produktgruppe,datum,umsatz
Tee,01.01.2020,0.76
Kosmetik,01.01.2020,21.65
Tee,02.01.2020,10.10
Gewürze,02.01.2020,18.53
Gewürze,02.01.2020,40.71
Gewürze,02.01.2020,39.06
Kosmetik,02.01.2020,1.65
Tee,03.01.2020,38.03
Kerzen,03.01.2020,41.99
Geschenkkörbe,04.01.2020,13.92
Gewürze,05.01.2020,28.27
Gewürze,05.01.2020,19.84
Kerzen,05.01.2020,19.81
Kerzen,05.01.2020,19.57
Kerzen,05.01.2020,49.97
Kerzen,05.01.2020,14.06
Tee,06.01.2020,42.28
Gewürze,06.01.2020,20.44
Kosmetik,06.01.2020,4.62
Gewürze,07.01.2020,1.28
Kosmetik,07.01.2020,12.46
Gewürze,08.01.2020,9.20
Tee,09.01.2020,32.47
Tee,09.01.2020,4.23
Gewürze,09.01.2020,0.79
Kerzen,09.01.2020,2.97
Kosmetik,09.01.2020,43.68
Kosmetik,10.01.2020,21.67
Kosmetik,10.01.2020,6.44
Tee,12.01.2020,15.09

Vorhandener Programmcode:

print "<table border = 3 cellpadding = 5>";


        foreach($rows as $artikel){
            foreach($artikel as $index=>$wert){
                /* if($zahl % 3){ */
                    /* print "<tr>"; */
                    /* print "$wert<br>"; */
                    print "<th width = 100 align = right bgcolor = green>$wert</th>";
                    /* print "</tr>"; */
                /* }else{
                    print "<br>";
                } */
            }        
        }


    print "</table>";   

Wie es in ca. ausschauen soll:

Da bei mir das ganze leider nicht wie geplant funkt, bin ich nun auf eure Hilfe angewiesen, vielleicht, hat jemand eine Idee?

Lg

Bild zum Beitrag
Computer, Microsoft Excel, programmieren, Java, Datenbank, Informatik, PHP, Tabelle, CSV-Datei
Excel Russisch Roulett?

Ich hab mich an Russische Roulett gewagt...
Und dabei folgendes asuprobiert

Der Schieß Button ist mit folgendem Macro verknüpft:

Option Explicit
Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal ms As LongPtr)


Sub Drehung()
'
' Drehung Makro
'

'

Dim i As Integer
Dim z As Integer

Range("C100").Select
Selection.ClearContents

i = 0
z = Cells(1, 1)

'Schnelles Drehen
Do Until i = 100
i = i + 1


   ActiveSheet.ChartObjects("Diagramm 2").Activate
   ActiveChart.FullSeriesCollection(1).Select
   ActiveChart.ChartGroups(1).FirstSliceAngle = z
   Range("R22").Select

   If z < 355 Then
   z = z + 5

   Else
   z = 0

   End If
   Application.Calculate
   Sleep (6)
   DoEvents
   DoEvents

   Loop

'Langsames Drehen
Do Until i = 165
i = i + 1


   ActiveSheet.ChartObjects("Diagramm 2").Activate
   ActiveChart.FullSeriesCollection(1).Select
   ActiveChart.ChartGroups(1).FirstSliceAngle = z
   Range("R22").Select

   If z < 358 Then
   z = z + 2

   Else
   z = 0

   End If
   Application.Calculate
   Sleep (6)
   DoEvents
   DoEvents

   Loop


End Sub

Und nun zu meiner Frage ist es irgendwie möglich die Grad in den das Diagramm2 (also die "Trommel" | Kreis ) zeigt mit einer Formel anzuzeigen.

Ich brauch dies um zu wissen ob der Spieler dann stirbt oder nicht.
(Andere Vorschläge wie es zu ermöglichen ist , sind offen )

Danke für eure Hilfe im Vorraus!!

Bild zum Beitrag
Microsoft Excel

Meistgelesene Beiträge zum Thema Microsoft Excel