Nicht Textfeld-Namen sondern -Inhalt ausgeben
21.12.2024 20:07:50
Klaus B aus D
in meinem nächsten Entwicklungsschritt will einfach nicht der Inhalt eines Textfeldes aus der UserForm im Tabellenfeld erscheinen, sondern es wird der Name eingetragen: "txt12" statt "2" (als Inhalt) . Meine Versuche, an "geeigneter" Stelle in den Codezeilen ein ".Value" zu verwenden, scheitern leider.
Private Sub cmdPunkteUebertragen_Click()
' Alternative: Spaltenüberschriften verwenden
Dim wks As Worksheet
Dim rng As Range
Dim tf As String ' TextFeld
Dim hl As String ' HeadLineDim nr As Variant
Set wks = Worksheets("Wertungspunkte")
' Zeile mit der eingegebenen StartNr. bestimmen
Set rng = wks.Range("A2:A80").Find(what:=txtStartNr, LookAt:=xlWhole, LookIn:=xlValues)
If rng Is Nothing Then
MsgBox "Es wurde KEINE entsprechende Startnummer gefunden."
Exit Sub
End If
' Diese Zuweisungen sollen später mit einem Schleifendurchlauf verändert werden
z = 1
e = 2
tf = "txt" & z & e
'hl = "NK 1.2" ' Beispiel-Bezeichnung für eine Ziel-Überschrift
hl = "NK " & Mid(tf, 4, 1) & "." & Right(tf, 1) ' Ziel-Überschrift
MsgBox tf & " und " & hl ' Anzeige (wunschgemäß): txt12 und NK 1.2
nr = Application.Match(hl, wks.Rows(1), 0) ' Überschriftenzeile durchsuchen ...
If Not IsNumeric(nr) Then
MsgBox "Spaltenüberschrift mit Suchtext nicht gefunden!", vbInformation
Exit Sub
Else
' ... und Ergebnis der Spaltennummer (numerischer Wert) ausgeben
'rng.Offset(0, nr - 1) = CLng(txt11) ' -1 ist erforderlich, um Spaltenversatz zu verhindern !?
' Alternativen aus HEF (21.12.2024)
'!Range(rng.Row, nr) = CLng(txt11) ' Laufzeitfehler 1004
'Cells(rng.Row, nr) = CLng(txt11) ' funktioniert
'Cells(rng.Row, "A").Resize(1, nr).Cells(nr) = CLng(txt11) ' funktioniert
'Columns(nr).Cells(rng.Row) = CLng(txt11) ' funktioniert
'rng.EntireRow.Cells(nr) = CLng(txt11) ' funktioniert
' Eintrag in andere Spalte
'rng(1, nr) = CLng(txt12) ' funktioniert
rng(1, nr) = CLng(tf)
End If
End SubDie Laufzeitfehlermeldung lautet '13': Typen unverträglich.
Wo muss ich nachbessern?
Gruß Klaus
Anzeige