Ich Hab da ein Problem u. benötige eure Hilfe.
Per Makroaufzeichnung habe Ich mir einen Code zusammen Gebastelt.
Nun bin Ich dabei diesen Code in meiner UF zu übernehmen u. komme aber an manchen stellen nicht weiter.
Kurze Beschreibung:
1. Per UF möchte Ich Werte ins Tabellenblatt schreiben, soweit sogut das läuft.
Anhand einer Zeilenbezogenen Bezug wird in die jeweilige Zeile geschrieben.
2. Nach dem Schreiben soll die Zeilenhöhe u. Eigenschaften der Zellen angepasst werden.
Mein Problem:
Ich kann keine RowSource Eigenschaft setzten (ComboBox1), weder per Eigenschaft der ComboBox noch per Code. Fehlermeldung Eigenschaft kann nicht gesetzt werden.
Ich möchte die Eintragung wie bisher über ComboBox1 ersetzten durch "Suche letzte freie Zeile".
Wenn möglich mit Zeilenhöhe anpassen wenn Text zu Lang (H6) bzw. Zelleigenschaften.
Ich hoffe es ist Verständlich u. Danke im Voraus.
Gruß Charly
Bsp-Mappe Anbei:
https://www.herber.de/bbs/user/133195.xlsm
Option Explicit
Makro-Aufzeichnung
Sub Makro1()
' Makro1 Makro
Dim LetzteFreieZeile As Long
'Range("G6:V6").Select
Range("A6").Value = UserForm1.TextBox1.Value
Range("D6").Value = UserForm1.TextBox2.Value
Range("G6").Value = UserForm1.TextBox3.Value
Range("W6").Value = UserForm1.TextBox4.Value
Range("AB6").Value = UserForm1.TextBox5.Value
' ActiveCell.FormulaR1C1 = "Test Nachricht, Test Nachricht, Test Nachricht, Test Nachricht, _
_
_
Test Nachricht."
Rows("6:6").Select
Selection.RowHeight = 45
Range("A6, D6, G6, W6, AB6").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = True
.ReadingOrder = xlContext
.MergeCells = True
End With
Range("A1").Select
UserForm1.TextBox1 = ""
UserForm1.TextBox3 = ""
UserForm1.TextBox4 = ""
UserForm1.TextBox5 = ""
End Sub
Angepasstes Makro
Sub Schreibe()
Dim sh As Worksheet, n As Long
Set sh = ThisWorkbook.Sheets("Bericht (1)")
n = Application.Match(VBA.CLng(UserForm1.ComboBox1.Value), sh.Range("A:A"), 0)
sh.Range("B" & n).Value = UserForm1.TextBox1.Value
sh.Range("E" & n).Value = UserForm1.ComboBox2.Value
sh.Range("H" & n).Value = UserForm1.TextBox3.Value
sh.Range("X" & n).Value = UserForm1.TextBox4.Value
sh.Range("AB" & n).Value = UserForm1.TextBox5.Value
UserForm1.TextBox1 = ""
UserForm1.TextBox3 = ""
UserForm1.TextBox4 = ""
UserForm1.TextBox5 = ""
End Sub