Matrix für code fixieren?

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
TextBox
Bild

Betrifft: Matrix für code fixieren?
von: Erich M.
Geschrieben am: 25.03.2005 17:28:43
Hallo EXCEL-Freunde,
derzeit habe ich in einem Code über sSearch und .Find eine Lösung, bei der
eine Matrix in einer Tabelle durchsucht wird und dann die dazugehörigen
Ergebnisse ermittelt werden:

Status
 ABCD
1NrNameAbteilungSegment
2231MüllerAlttief
3232HuberNeuhoch
4233MayrNeuhoch
5234BauerAltmittel
6235GreisAlttief
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  

Allerdings muss ich jedesmal bei Neuinstallationen neben dem code auch die
Tabelle mitübertragen / liefern.
Da die Suchfunktionen im code öfters vorkommen suche ich eine Möglichkeit
wie ich dies im Code lösen könnte (mit Variablen?).
Die Ermittlung habe ich bereits:

Sub Zahl_aus_Text()
Dim r As Range, intSpalte As Integer, i As Long, myZeile As Long
intSpalte = 1 + 1
' aus Zellen den Inhalt ermitteln und zugehörigen Namen eintragen
Cells(1, intSpalte + 4) = "Name"
Cells(1, intSpalte + 5) = "Abteilung"
Cells(1, intSpalte + 6) = "Segment"
For i = 2 To myZeile
If UCase(Cells(i, 3)) = "231" Then
Cells(i, intSpalte + 4) = "Müller"
Cells(i, intSpalte + 5) = "Alt"
Cells(i, intSpalte + 6) = "tief"
ElseIf UCase(Cells(i, 3)) = "232" Then
Cells(i, intSpalte + 4) = "Huber"
Cells(i, intSpalte + 5) = "Neu"
Cells(i, intSpalte + 6) = "hoch"
ElseIf UCase(Cells(i, 3)) = "234" Then
Cells(i, intSpalte + 4) = "Bauer"
Cells(i, intSpalte + 5) = "Alt"
Cells(i, intSpalte + 6) = "mittel"
End If
Next
End Sub


Code eingefügt mit: Excel Code Jeanie
Jetzt müsste im code "die Matrix irgendwo fixiert" werden, auf die immer
zugegriffen wird - dann müsste ich bei Änderungen nur die Matrix ändern
und nicht immer den umfangreichen code.......
(Ob das jetzt verständlich ist?)
Trotzdem besten Dank!!
mfg
Erich
http://www.toolex.de
Bild

Betrifft: AW: Matrix für code fixieren?
von: Josef Ehrensberger
Geschrieben am: 25.03.2005 17:59:24
Hallo Erich!
Möglich das ich dich falsch verstehe, aber warum machst du das
per Code und nicht mit SVERWEIS() ?

Gruß Sepp

P.S.: Rückmeldung nicht vergessen!


Bild

Betrifft: AW: Matrix für code fixieren?
von: Erich M.
Geschrieben am: 25.03.2005 18:04:41
Hallo Josef,
mit SVERWEIS geht nicht bzw. ist nicht möglich, da das ganze innerhalb eines größeren
Codes abläuft.
mfg
Erich
http://www.toolex.de
Bild

Betrifft: Könnte das man mit TextBoxen lösen?
von: Erich M.
Geschrieben am: 25.03.2005 19:23:29
Hallo,
wäre es möglich, dass ich eine UF erstelle und darin über mehrere TextBoxen eine
Matrix erstelle und dann jeweils auf die TextBoxen vom code zugegriffen wird?
mfg
Erich
http://www.toolex.de
Bild

Betrifft: AW: Könnte das man mit TextBoxen lösen?
von: Josef Ehrensberger
Geschrieben am: 25.03.2005 20:09:27
Hallo Erich!
Warum schreibst du die Daten nicht in ein (verstecktes) Tabellenblatt?
Dann könntest du die Daten mit .Find auslesen!
Gruß Sepp

P.S.: Rückmeldung nicht vergessen!


Bild

Betrifft: AW: Könnte das man mit TextBoxen lösen?
von: Erich M.
Geschrieben am: 25.03.2005 20:12:50
Hallo Josef,
so habe ich es derzeit gelöst. Allerdings muss ich dann die versteckten Tabellenblätter
immer wieder mitliefern bzw. aktualisieren. Wenn ich alles per code bzw. nur mit einer
UF hätte, würde die Kopie des codes reichen.
Das mit den versteckten Tabellenblättern hat sich im Laufe der zeit als umständlich
erwiesen; deshalb versuche ich zu optimieren.
mfg
Erich
http://www.toolex.de
Bild

Betrifft: AW: Könnte das man mit TextBoxen lösen?
von: Josef Ehrensberger
Geschrieben am: 26.03.2005 23:19:40
Hallo Erich!
Probier mal das.
https://www.herber.de/bbs/user/20191.xls

Gruß Sepp

P.S.: Rückmeldung nicht vergessen!


Bild

Betrifft: AW: Könnte das man mit TextBoxen lösen?
von: Erich M.
Geschrieben am: 27.03.2005 20:50:53
Hallo Sepp,
super; das schaut schon ganz gut aus und erleichtert ne Menge.
Werde mal versuchen das in die UF einzubauen und melde mich wieder.
mfg
Erich
http://www.toolex.de
Bild

Betrifft: AW: Könnte das man mit TextBoxen lösen?
von: Erich M.
Geschrieben am: 27.03.2005 22:36:20
Hallo Sepp,
also ich kann das jetzt in den UF-code integrieren.
Bevor ich diesen jetzt aufwändig umstelle zwei Fragen:
1. Wenn die Zahlen in Spalte A stehen, kann man dann die Einträge aus dem Array
erst ab der spalte C veranlassen (die Spalte B habe ich mit dem Code derzeit
anderweitig belegt)?
2. Wenn die Zahlen in Spalte H stehen, kann man dann die Einträge aus dem Array
auch links davon - z. B. in die Spalten D, E und F eintragen lassen?
Besten Dank; ansonsten muss ich den code entsprechend komplett umstricken.
mfg
Erich
http://www.toolex.de
Bild

Betrifft: AW: Könnte das man mit TextBoxen lösen?
von: Josef Ehrensberger
Geschrieben am: 27.03.2005 23:22:55
Hallo Erich!
Sollte auch kein Problem sein.
https://www.herber.de/bbs/user/20229.xls

Gruß Sepp

P.S.: Rückmeldung nicht vergessen!


Bild

Betrifft: AW: Könnte das man mit TextBoxen lösen?
von: Erich M.
Geschrieben am: 28.03.2005 08:58:49
Hallo Sepp,
danke - eine Supersache!!
Beim testen habe ich noch ungelöst: der Eintrag ab einer Spalte die variabel
mit "letzteSpalte + .." ermittelt wird funktioniert noch nicht.
Es funktioniert:
Eintragen Range("ah3:ah" & myZeile), 0, 0

Da allerdings ah nicht immer gleich ist, muss ich die variable letzteSpalte einbinden:
so gehts aber nicht:
Eintragen Range(3, letzteSpalte + 30)(myZeile, letzteSpalte + 30), 0, 0
(auch nicht mit Cells)
Was ist denn da noch falsch?
Besten Dank nochmal!

mfg
Erich
http://www.toolex.de
Bild

Betrifft: doch noch weiteres Problem
von: Erich M.
Geschrieben am: 28.03.2005 10:23:51
Hallo Sepp,
hab mich zu früh gefreut.
Beim testen festgestellt, dass aus dem Array immer nur der erste suchbegriff erkannt
und dann das Ergebnis eingetragen wird.
D. h., wenn 231 in den Zeilen nach unten 5x vorkommt, dann wird "Müller" nur
einmal eingetragen und bei den folgenden vier Zeilen erfolgt kein eintrag mehr.
Ist das zu beheben??
Besten Dank!
mfg
Erich
http://www.toolex.de
Bild

Betrifft: .... doch noch gelöst
von: Erich M.
Geschrieben am: 28.03.2005 10:47:50
Hallo Sepp,
jetzt scheint es wirklich perfektioniert; so gehts (auch fürs Archiv) sowohl die
variable Spalte als auch der mehrmalige Eintrag:

Sub test2()
Dim i As Integer
For i = 22 To 27
Eintragen Cells(i, 8), 1, -4
Next i
End Sub

Nochmals allerbesten Dank für Deine Bemühungen!!
mfg
Erich
http://www.toolex.de
Bild

Betrifft: .....und trotzdem noch eine Frage.......
von: Erich M.
Geschrieben am: 28.03.2005 11:11:05
Hallo Sepp,
habe jetzt festgestellt, dass ich aus dem Array mit 4 Spalten
varDaten(0) = Array(231, "Müller", "Alt", "tief")
in einigen Fällen nur eine bestimmte Spalte als Ergebnis benötigen würde.
Kann man es einrichten, dass z.B. nur das Ergebnis "Alt" eingetragen wird;
der Beginn mit "Alt" durch

Sub test2()
Dim i As Integer
For i = 22 To 27
Eintragen Cells(i, 8), 2, -4
Next i
End Sub

ist mir klar. Wie kann ich verhindern, dass auch nocht "tief" in die nächste spalte
eingetragen wird?
Besten Dank!
mfg
Erich
http://www.toolex.de
Bild

Betrifft: AW: .....und trotzdem noch eine Frage.......
von: Josef Ehrensberger
Geschrieben am: 28.03.2005 12:21:16
Hallo Erich!
Dann füge der Prozedur "Eintragen" doch den Parameter "ende as Integer" hinzu!

Sub Eintragen(Bereich As Range, beginn As Integer, ende As Integer, offset As Integer)
Dim n As Integer, i As Integer
Dim rng As Range
If offset < 0 Then offset = offset - 1
Daten
If ende < beginn Then ende = beginn
For n = 0 To UBound(varDaten)
Set rng = Bereich.Find(varDaten(n)(0), LookAt:=xlWhole)
   If Not rng Is Nothing Then
   
      For i = beginn To IIf(ende > UBound(varDaten(n)), UBound(varDaten(n)), ende)
         rng.offset(0, offset + i) = varDaten(n)(i)
      Next
               
   End If
   
Set rng = Nothing
Next
End Sub

Der Aufruf sieht dann so aus:

Sub test2()
Dim i As Integer
For i = 22 To 27
Eintragen Cells(i, 8), 2, 2, -4
'            Bereich,von,bis,offset
Next i
End Sub


Gruß Sepp

P.S.: Rückmeldung nicht vergessen!


Bild

Betrifft: Danke Sepp - wieder genial gelöst!!
von: Erich M.
Geschrieben am: 28.03.2005 12:32:31
mfg
Erich
http://www.toolex.de
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Matrix für code fixieren?"