Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA geht der Code zu kürzen

Forumthread: VBA geht der Code zu kürzen

VBA geht der Code zu kürzen
10.09.2020 08:46:49
Tim
Hallo VBA/Excel Gemeinde ich möchte mir den Aufwand etwas erleichtern, kann man den Code auf eine Zeile kürzen.
Danke für eure Zeit
Grüße Tim
Sheets("Tabelle1").Cells(23, 1054) = TextBox43.Value 'schreiben
Sheets("Tabelle1").Cells(24, 1054) = TextBox44.Value 'schreiben
Sheets("Tabelle1").Cells(25, 1054) = TextBox45.Value 'schreiben
Sheets("Tabelle1").Cells(26, 1054) = TextBox46.Value 'schreiben
Sheets("Tabelle1").Cells(27, 1054) = TextBox47.Value 'schreiben
Sheets("Tabelle1").Cells(28, 1054) = TextBox48.Value 'schreiben
Sheets("Tabelle1").Cells(29, 1054) = TextBox49.Value 'schreiben
Sheets("Tabelle1").Cells(30, 1054) = TextBox50.Value 'schreiben
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA geht der Code zu kürzen
10.09.2020 08:58:38
Nepumuk
Hallo Tim,
teste mal:
Worksheets("Tabelle1").Cells(23, 1054).Resize(8, 1).Value = Application.Transpose( _
    Array(TextBox43.Text, TextBox44.Text, TextBox45.Text, TextBox46.Text, _
    TextBox47.Text, TextBox48.Text, TextBox49.Text, TextBox50.Text))

Gruß
Nepumuk
Anzeige
AW: VBA geht der Code zu kürzen
10.09.2020 09:28:25
Tim
Hallo Nepumuk,
Danke dir so geht es, habe jetzt etwas weniger zum schreiben. Da stellt sich bei mir auch gleich die nächste Frage, geht das auch beim lesen der Textboxen.Weil das habe ich nach dem selben Prinzip gemacht.
Grüße Tim
AW: VBA geht der Code zu kürzen
10.09.2020 09:52:16
Tim
hier mal das was ich verwendet habe
Grüße Tim
Me.TextBox49.Value = Range("ANO23") 'lesen
Me.TextBox50.Value = Range("ANO24") 'lesen
Me.TextBox51.Value = Range("ANO25") 'lesen
Me.TextBox52.Value = Range("ANO26") 'lesen
Me.TextBox53.Value = Range("ANO27") 'lesen
Me.TextBox54.Value = Range("ANO28") 'lesen
Me.TextBox55.Value = Range("ANO29") 'lesen
Me.TextBox56.Value = Range("ANO30") 'lesen
Anzeige
AW: VBA geht der Code zu kürzen
10.09.2020 10:07:06
Nepumuk
Hallo Tim,
das geht nur mit einer Schleife:
Dim lngIndex As Long
With Worksheets("Tabelle1")
    For lngIndex = 23 To 30
        Controls("TextBox" & CStr(lngIndex + 26)).Text = .Cells(lngIndex, 1055).Text
    Next
End With

Gruß
Nepumuk
Anzeige
AW: VBA geht der Code zu kürzen
10.09.2020 10:32:54
Tim
Hallo Nepumuk, ich muss mich wohl doch mal an die Schleifen rantrauen um das ganze etwas zu kürzen. Das mit den Schleifen werde ich dann heute Abend nach der Arbeit mal ausprobieren.Ich danke euch beiden für die schnelle und freundliche Hilfe.
Grüße Tim
AW: VBA geht der Code zu kürzen
10.09.2020 09:56:59
Daniel
HI
wenn du die TextBoxen fest mit den Zellen verknüpfen willst, ist es am einfachsten wenn du die Adresse der Zielzelle (inkl Tabellenblattnamen) in die Eigenschaft LinkedCell / ControlSource schreibst.
dann musst du nichts programmieren und die Verknüpfung ist bidirektional.
sollten die TextBoxen Teil einer Userform sein und die TextBoxen eine Nummerierung haben die parallel zu den zu verknüpfenden Zellen verläuft, wäre auch eine Schleife denkbar:
for x = 0 to 7 'Anzahl -1
Sheets("Tabelle1").Cells(23 + x, 1054).value = Userform1.Controls("TextBox" & 43 + x).Text
Next
Gruß Daniel
Anzeige
AW: VBA geht der Code zu kürzen
10.09.2020 10:23:25
Tim
Hallo Daniel ich danke dir auch für deine Mühe, mit Schleifen stehe ich in VBA noch nicht so ganz im grünen. VBA Kenntnisse bescheiden. Ich werde das aber mal heute Abend auch mal austesten und probieren. Bei deiner Antwort ist mir aufgefallen das ich zu wenig Infos gegeben habe. Die Werte werden aus einer Userform gelesen und geschrieben.Danke nochmal an euch beide,tolles Forum
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige