Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1896to1900
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Textfelder ein einem Bereich kopieren
08.09.2022 15:38:09
Bernd
Hallo liebes Forum,
ihr habt mir vor längerer Zeit bei einem Textfeldproblem geholfen.
Es ging um Textfelder erzeugen und auch wieder löschen.
Nun habe ich das Problem, das ich die Textfelder aus diesem Bereich
auch kopieren will.
Hier mal der damals entwickelten Code:

Sub Textfeld() 'ein Textfeld über der aktuellen Zelle erstellen und mit Text füllen
Dim strText As String, Obj As Object, i As Integer, BrHo As Currency
Dim strStartzelle As String
strStartzelle = ActiveCell.Address
strText = InputBox("Welcher Text soll als Bemerkung eingetragen werden?")
If strText = "" Then Exit Sub
Set Obj = ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 675#, 474.75, _
225#, 22.5)
With Obj
.Left = ActiveCell.Left
.Top = ActiveCell.Top
BrHo = 0
For i = 0 To 2
BrHo = BrHo + ActiveCell.Offset(i, 0).Height
Next i
.Height = BrHo
BrHo = 0
For i = 0 To 3
BrHo = BrHo + ActiveCell.Offset(0, i).Width
Next i
.Width = BrHo
.Select
With Selection
.Characters.Text = strText
With .Font
.Name = "Arial"
.FontStyle = "Standard"
.Size = 13
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
End With
End With
End Sub
Sub Textfelder_in_Markierung_löschen() 'zuvor erstelltes Textfeld bei Bedarf wieder löschen
Dim objTextfeld
Dim rngBereich As Range
Set rngBereich = Selection
For Each objTextfeld In ActiveSheet.Shapes
If objTextfeld.Type = msoTextBox Then
If Not Intersect(objTextfeld.TopLeftCell, rngBereich) Is Nothing Then objTextfeld. _
Delete
End If
Next
Set rngBereich = Nothing
End Sub
Nun muss ich die Texfelder zum Zweck eines Updates (Ich kopiere den Inhalt einer Exceldatei in die aktuelle Datei) mit kopieren.
Zum Eintragen klicke ich eine Zeile in der Spalte M an und aktiviere die Funktion über einen Button.
Der Bereich in dem die Textfelder liegen ist dann M10:P100
Nur komme ich mit dem Code nicht zurecht. Dachte das ich ihn umschreiben könnte.
Könnt Ihr mir dabei bitte helfen?
Gruß
Bernd

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Warum Textfelder?
08.09.2022 16:35:06
RPP63
Moin!
Schließlich hat Excel für so etwas profane Zellen vorgesehen.
Und dies sogar in 2^20*2^14 Zellen pro Tabellenblatt.
Gruß Ralf
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige