Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1128to1132
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
Inhaltsverzeichnis

Werte zuweisen | Herbers Excel-Forum

Werte zuweisen
13.01.2010 01:33:34
Thomas

Hallo,
würdet Ihr mir bitte weiterhelfen - komm nicht klar.
Ich habe in der Spalte AL ( A1 = Zuweisung ) ca. 38.000 Zellen die mit 386 verschiedenen Werten gefüllt sind. Die Anzahl der Zellen kann sich immer wieder mal ändern.
In der Spalte AM habe ich die Zahlen 1 bis 386 die ich nun den Werten in den Zellen der Spalte AM zuweisen möchte.
Habs mal so versucht:

Sub Ordnungszahl()
' kat_id
Dim lZeile As Long, Counter As Long, kat_id As Long, ZUWEISUNG As Long
Dim StatusCalc As Long
With Application
.ScreenUpdating = False
StatusCalc = .Calculation
If StatusCalc <> xlCalculationManual Then .Calculation = xlCalculationManual
.EnableEvents = False
End With
lZeile = Cells.SpecialCells(xlLastCell).Row
For Counter = 2 To lZeile
kat_id = Cells(Counter, 40).Value 'Range("AN" & Counter).Value
If ZUWEISUNG = Arbeitsspeicher3891 Then kat_id = 1
If ZUWEISUNG = ArbeitsspeicherDDRRAM39843891 Then kat_id = 2
If ZUWEISUNG = ArbeitsspeicherDDR2RAM47813891 Then kat_id = 3
If ZUWEISUNG = ArbeitsspeicherDDR3RAM59413891 Then kat_id = 4
If ZUWEISUNG = ArbeitsspeicherSDRRAM39813891 Then kat_id = 5
If ZUWEISUNG = ArbeitsspeicherSODDR249613891 Then kat_id = 7
If ZUWEISUNG = ArbeitsspeicherSODDR360413891 Then kat_id = 8
If ZUWEISUNG = ArbeitsspeicherSODDR39833891 Then kat_id = 6
If ZUWEISUNG = ArbeitsspeicherSODIMM39823891 Then kat_id = 9
If ZUWEISUNG = Barebonesysteme3927 Then kat_id = 10
If ZUWEISUNG = BarebonesystemeZubehör43413927 Then kat_id = 11
If ZUWEISUNG = BatterienundAkkus5181 Then kat_id = 12
Cells(Counter, 40).Value = kat_id 'Range("AN" & Counter).Value
Next Counter
With Application
.ScreenUpdating = True
If StatusCalc <> .Calculation Then .Calculation = StatusCalc
.EnableEvents = True
End With
End Sub

Ich habe das Makro verkürzt hier reingestellt da die If Then bis 386 gehen - wäre zu lang.
Wenn ich das Script laufen lasse weißt er mir nur die Zahl 386 für alle 38000 Zellen zu.
Wäre nett wenn Ihr mir einen Anstoß geben könntet wie ich das Teil zum laufen bringe.
Merci schon mal im voraus.
Gruß
Thomas

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
...habe das Makro verkürzt hier reingestellt...
13.01.2010 02:23:51
Luc:-?
Hi, Thomas,
dabei hast du wohl auch die wichtige Info weggelassen, wo die Variable ZUWEISUNG gefüllt wird, ganz abgesehen davon, dass du sie mit in deiner Subroutine nicht deklarierten anderen Variablen unbekannten Inhalts vgl willst, denn nichts anderes bedeutet If ZUWEISUNG = Arbeitsspeicher3891 Then. Wenn ZUWEISUNG nicht gefüllt wird, hat sie den Wert 0. Eine nicht deklarierte Variable Arbeitsspeicher3891 ist automatisch vom Typ Variant, nicht gefüllt also Empty. Du vglst folglich If 0 = Empty Then und das ist stets False. Wenn du Option Explicit am Modulanfang verwenden würdest (→kann man generell einstellen), hätte VBA die Nichtdeklaration kritisiert und du dadurch bemerkt, dass da was nicht stimmt. Wir können natürlich nicht wissen, ob Arbeitsspeicher3891 eine Variable oder eher ein Text sein soll, zumal Letzteres (String !) ja auch nicht zum Typ von ZUWEISUNG (Long !) passen würde. Also ist der entscheidende Teil deines Pgms völlig unsinnig, ganz im Ggsatz zu sehr sinnvollem Anfang und Ende...
Gruß Luc :-?
Anzeige
AW: ...habe das Makro verkürzt hier reingestellt...
13.01.2010 08:41:26
Thomas
Hallo Luc,
merci für die versuchte Aufklärung - werde mich mal durchkämpfen um sie zu verstehen.
Gruß
Thomas
AW: ...habe das Makro verkürzt hier reingestellt...
13.01.2010 10:23:25
Hajo_Zi
Hallo Thomas,
warum ist der Beitrag offen. Dazu lese ich nichts in Deinem Beitrag.

AW: ...habe das Makro verkürzt hier reingestellt...
13.01.2010 10:49:08
Thomas
Hallo Hajo,
dachte das evtl. jemand noch eine Idee hat wie ich die Zuweisung der 386 kat_ids zu den verschiedenen Zellen in der Spalte AL hin bekomme.
Bis ich das von Luc erklärte verstehe bzw. umgesetzt habe dauerts a bisserl :)
Gruß
Thomas
AW: Werte zuweisen
13.01.2010 12:55:06
Rudi Maintaire
Hallo,
was ist Arbeitsspeicher3891 etc? eine Variable?
Wie wird ZUWEISUNG belegt?
Gruß
Rudi
Anzeige
AW: Werte zuweisen
13.01.2010 13:02:44
Thomas
Hallo Rudi,
die Spalte AL = Zuweisung wird mit Werten aus fünf verschiedenen Spalten gefüllt.
Dieser Wert ist dann der Wert der den einzelnen Kat-IDs ( 1 - 386 ) zugeordnet werden soll.
Gruß
Thomas

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige