AW: Tabellen via VBA formatieren
30.03.2021 11:02:25
Christian
Ich weiß nicht, ob ich etwas falsch mache. Aber die Namensgebung scheint nicht zu funktionieren. Ich kann die neu eingetragenen Daten nicht über das Drop-Down aufrufen. Nur die Daten werden angezeigt, bei denen ich manuell die Formatierung vorgenommen habe. Vielleicht hilft es ja, wenn ich Dir mal mein schon fertiges VBA zeige. Ich starte über eine UserForm eine Abfrage. Die dort eingefügten Werte werden dann in ein Datenblatt übertragen bzw. es wird eine neue Spalte "O" generiert und mit den Daten aus der UserForm gefüllt. Funktioniert auch alles prima. Der nächste Schritt, bei der ich Deine Hilfe benötige, ist dann eben das formatieren.
Mein VBA welches ich schon geschrieben habe, soll Werte aus meiner UserForm in eine Spalte eintragen bzw. eine neue Spalte generieren
------------------------------------------------------------------------
Private Sub ComboBox6_Change()
End Sub
Private Sub ComboBox7_Change()
End Sub
Private Sub ComboBox8_Change()
End Sub
Private Sub ComboBox9_Change()
End Sub
Private Sub TextBox2_Change()
End Sub
Private Sub TextBox3_Change()
End Sub
Private Sub TextBox4_Change()
End Sub
Private Sub TextBox6_Change()
End Sub
Private Sub UserForm_Initialize()
'Variable deklarieren
Dim Wiederholungen As Integer
'Schleife zum Füllen der ComboBox mit den Daten aus Blatt "Grunddaten"
'Spalte C ab Zeile 2 bis zur letzten gefüllten Zeile
For Wiederholungen = 2 To Sheets("Grunddaten").Range("A65536").End(xlUp).Row
ComboBox7.AddItem Sheets("Grunddaten").Cells(Wiederholungen, 1)
ComboBox8.AddItem Sheets("Grunddaten").Cells(Wiederholungen, 11)
ComboBox6.AddItem Sheets("Grunddaten").Cells(Wiederholungen, 12)
Next
End Sub
Private Sub CommandButton2_Click()
'UserForm schließen
Unload Me
End Sub
Private Sub CommandButton1_Click()
'Variable deklarieren
Dim erste_freie_Zeile As Integer
'erste freie Zeile in Blatt "DB_TB" ermitteln
'und in Variable "erste_freie_Zeile" schreiben
erste_freie_Zeile = Sheets("DB_TB").Range("C65536").End(xlUp).Offset(1, 3).Row
'In Blatt "DB_TB"
'With Sheets("DB_TB")
'erste freie Zeile das ausgewählte Konto übertragen
'Sheets("DB_TB").Cells(erste_freie_Zeile, 15) = ComboBox4.Text
'Sheets("DB_TB").Cells(erste_freie_Zeile, 3) = ComboBox1.Text
'End With
Sheets("DB_TB").Cells(erste_freie_Zeile, 3) = ComboBox7.Text
Sheets("DB_TB").Select
Columns("O:O").Select
Columns("GB:GB").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
'Fipo inklusive Tabellenname
Worksheets("DB_TB").Range("O1") = "DEZ_" & ComboBox7.Text
Worksheets("DB_TB").Range("O9") = "MAN_" & ComboBox7.Text
Worksheets("DB_TB").Range("O18") = "PSP_" & ComboBox7.Text
Worksheets("DB_TB").Range("O31") = "SK_" & ComboBox7.Text
Worksheets("DB_TB").Range("O41") = "MB_" & ComboBox7.Text
Worksheets("DB_TB").Range("GB1") = "IA_" & TextBox2.Text
Worksheets("DB_TB").Range("GB17") = "PO_" & TextBox2.Text
'Sachkonto
Worksheets("DB_TB").Range("O32") = ComboBox6.Value
'Maßnahme
Worksheets("DB_TB").Range("O10") = TextBox4.Value
'PSP-Element
Worksheets("DB_TB").Range("O19") = TextBox3.Value
'Mittelbindungsnummer
Worksheets("DB_TB").Range("O42") = TextBox2.Value
'Dezernat
Worksheets("DB_TB").Range("O2") = ComboBox8.Value
'Innenauftragsnummer
Worksheets("DB_TB").Range("GB2") = TextBox5.Value
'Position
Worksheets("DB_TB").Range("GB18") = TextBox6.Value
Unload Me
End Sub
-------------------------------------------------------------------------------------------
LG, Chris