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

Forumthread: LinkedCell einer Textbox per Macro zuweisen

LinkedCell einer Textbox per Macro zuweisen
25.08.2007 10:46:00
Karsten
Hallo
Ich suche per for...next Befehl einen Wert in einer Spalte.
Als Ausgabe bekomme ich ja eine Zahl.
Wie kann ich diese Zahl jetzt per Macro in einen Linkedcell eintragen?
For a = 50 To 500
If Sheets("Daten").Cells(1, a) = Sheets("Daten").Cells(1, 49) Then
TextBox3.LinkedCell = "Daten!" & a & "2"
Next a
So geht es leider nicht, weil a als Zahl und nicht als Buchstabe ausgegeben wird.
MfG
Karsten

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: LinkedCell einer Textbox per Macro zuweisen
25.08.2007 11:09:19
{Boris}
Hi,
zunächst mal müsste Dein Code bei Deiner angegebenen Excelversion eigentlich abfliegen, da XP keine 500 Spalten hat.
Dein Problem lässt sich auch am Besten mit der Find-Methode erledigen:

Sub aus_der_Hand()
Dim C As Range
Set C = Sheets("Daten").Range("AX1:IV1").Find(Sheets("Daten").Cells(1, 49), lookat:=xlwhole)
If Not C Is Nothing Then
TextBox3.LinkedCell = "Daten!" & C.Offset(1).Address
End If
End Sub


Grüße Boris

Anzeige
AW: LinkedCell einer Textbox per Macro zuweisen
25.08.2007 11:22:45
Daniel
Hi
mal grundsätzlich, Office XP kann doch nur 256 Spalten, das mit den 500 würde erst ab Excel 2007 gehen.
dein Makro müsste dann so aussehten:

For a = 50 To 256
If Sheets("Daten").Cells(1, a) = Sheets("Daten").Cells(1, 49) Then
TextBox3.LinkedCell = "Daten!" & cells(2, a).address
Next a


Besser wäre allerdings folgendes Makro, daß keine Schleife benötigt, sondern die Find-Funktion verwendet


a = sheets("Daten").range("AX1:IV1").find(what:=sheets("Daten").cells(1,49).value, lookat:= _
xlwhole).column
TextBox3.LinkedCell = "Daten!" & cells(2, a).address


oder die Vergleichsfunktion:


a = worksheetfunction.match(sheets("Daten").cells(1,49), sheets("Daten").range("ax1:iv1"), 0)+ _
49
TextBox3.LinkedCell = "Daten!" & cells(2, a).address


beide Varianten haben aber den Nachteil, daß das Makro mit der Fehlermeldung abbricht, wenn der Wert aus Cells(1,49) nicht gefunden wurde.
Außderdem würde, wennn der Suchbegriff mehrfach vorkommt, deine Schleife den letzten Wert zurückgeben, bei meinen beiden Varianten dagegen immer der erste gefundene.
Gruß, Daniel

Anzeige
AW: LinkedCell einer Textbox per Macro zuweisen
25.08.2007 11:32:00
Karsten
Hallo
Danke für die schnellen Hinweise. Ich werde beide ausgiebig testen.
Das mit der 500 macht kein Problem, weil immer vorher ein ergebnis gefunden wird und die 500 aus einer Reihen-Suche stammt.
Gibt es jetzt noch die Möglichkeit, der Textbox vorzuschreiben, das Format der Zelle zu behalten?
Denn ich verlinke eine Datumsangabe (Aug. 07), die wird aber als Zahl ausgegeben (39295).
MfG
Karsten

Anzeige
AW: LinkedCell einer Textbox per Macro zuweisen
25.08.2007 11:43:53
Daniel
Hi
meines Wissen nach kann man der Textbox kein spezielle Zahlenformat mitgeben, es ist halt ne TEXT-Box.
Du könntest den Wert natürlich mit
Textbox3.text = text(sheehts("Daten").cells(a,2).value, "MMM. YY")
formatiert reinschreiben, das macht aber nur Sinn, wenn das Datum in der Textbox nicht mehr geändert werden soll (und keine LinkedCell mehr erforderlich ist)
Falls doch, müsste der Wert ggf durch ein Makro zurückgeschrieben werden, das den Textbox-Text wieder in ein datum verwandelt.
Gruß, daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige