VBA Verknüpfung + Füllfarbe
#1
Hallo zusammen,

am Freitag habe ich das erste mal VBA kennengelernt. Ich möchte eine bestehende Datei mit einem VBA Code anpassen. 

Punkt 1) 

Auszug:

ActiveWorkbook.Worksheets (1).Cells (8, 2) = ActiveWorkbook.Worksheets (2).Cells (1, 4) 

--> Der Code soll Werte aus einem neu erzeugtem Arbeitsblatt (welches immer an die zweite Position gestellt wird) auf ein Übersichts-Arbeitsblatt (Arbeitsblatt1) übertragen. Dieser Befehl kopiert die Werte allerdings nur. Ich würde gerne eine Verknüpfung erstellen, sodass falls man nachträglich Änderungen in älteren Arbeitsblättern (z.B. .Worksheets (30), also an 30. Position) durchführt, die Änderungen auch automatisch in der Übersichtsdatei erfolgen. 

Punkt 2)

Dropdown Einfügen:

Private Sub Dropdown_einfügen ()
Range (“N8”).Select
With Selection.Validation
            .Delete
.Add Type: =1ValidateList, AlertStyle:=1ValidAlertStop, Operator: =_xBetween, Formula1 :=”=Status! $C$3:$C$5”
.IgnoreBlank = True
.IncellDropdown = True
.InputTitle = “”
.ErrorTitle = “”
.ErrorMessage = “”
.Showinput = True
.ShowError = True
End with
End Sub

--> Das klappt auch alles soweit. Ich würde gerne, dass im erzeugen Dropdown-Menü auch die Formatierung bzw die Hintergrundfarbe der Zelle mitkopiert wird. Im Arbeitsblatt Status ist C3 Grün, C4 Gelb, und C5 Rot hinterlegt. Wie müsste der Code angepasst werden?

Vielen Dank im Voraus!
Top
#2
Hallo,

zu 1. Zellverknüpfung geht per Formel z. B so:

ActiveWorkbook.Worksheets(1).Cells(8, 2).Formula = "=" & Worksheets(2).Name & "!" & ActiveWorkbook.Worksheets(2).Cells(1, 4).Address

zu 2. Das ist nicht möglich, Datengültigkeit Dropdowns können nicht formatiert werden.

Alternative wäre ActiveX Steuerelemente einzusetzen. Da bin ich gerade in einem anderen Beitrag dran.
Gruß Atilla
Top
#3
Hallo Atilla,

vielen Dank für deine Lösung.

Leider bekomme ich bei Punkt 1 eine Fehlermeldung.

"Laufzeitfehler 438:
Objekt unterstützt diese Eigenschaft oder Methode nicht. 

Hat sich dort vielleicht ein Fehler eingeschlichen?

Andernfalls werde ich wohl ein Makro basteln, welches alle Werte überschreibt, ohne diese zu verknüpfen.

Grüße,

Dimitri
Top
#4
Hallöchen,

eine Fehlerquelle könnte sein, wenn Du z.B. Leerzeichen im Tabellennamen (2) hast. Da nimmst Du einfach noch je ein Hochkomme davor und danach:

ActiveWorkbook.Worksheets(1).Cells(8, 2).Formula = "='" & Worksheets(2).Name & "'!" & ActiveWorkbook.Worksheets(2).Cells(1, 4).Address
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top


Gehe zu:


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