_
toggle menu eXmatrikulationsamt.de
online: benniS und 394 gäste

[suche] :)

für Makroprogrammierung in EXEL
Hinweis
Hier kann alles angeboten, verkauft, gesucht oder getauscht werden, was den allgemeinen Regeln entspricht. Aber bleibt beim Thema - Offtopic und Spam werden kommentarlos gelöscht!
off stella | post 28 May 2007, 09:51 | Themenlink
-ERLEDIGT-

Dieser Beitrag wurde von stella: 14 Jun 2007, 08:44 bearbeitet
ProfilPM
 
Antworten(1 - 8)
yocheckit off post 28 May 2007, 12:16 | Antwort#2
wieviel daten-kombinationen können denn vorkommen und welcher art sind sie?
ZitierenTOP
stth off post 28 May 2007, 12:54 | Antwort#3
ähm.. neues tabellenblatt, da n button rein und mit diesem ne fkn ausführen:
daten spaltenweise in worksheet 1 (bsp: 5 spalten)
das was gefunden werden soll in worksheet 2 in der ersten zeile in der entsprechendne spalte, wenn se leer sind ist das ne wildcard

ergebnisse werden in worksheet 2 ab zeile 3 eingetragen (vor dem ausführen löschen!)

code ohne test und compiler geschrieben, sollte als noch debuggt und getestet werden... (keine garantie für datenverluste, mach ne sicherung!)

CODE

Private Sub CommandButton1_Click()
 
 CommandButton1.Enabled = False
 
 Dim spalte As Integer
 Dim findzeile As Integer
 Dim ergzeile As Integer
 Dim match As Boolean
     
 findzeile = 1
 ergzeile = 3
 
 While Worksheets(1).Cells(zeile, 1) <> Enpty
  match = true
   For spalte = 1 To 5
     If (Worksheets(2).Cells(1, spalte) <> Empty)  and (Worksheets(1).Cells(findzeile, spalte)  <> Worksheets(2).Cells(1, spalte)) Then
     match = false
   End If
 next

 if match then
   For spalte = 1 To 5
     Worksheets(2).Cells(ergzeile, spalte)  = Worksheets(2).Cells(findzeile, spalte)
   next
   ergzeile = ergzeile +1
 End If
Wend
 
 CommandButton1.Enabled = True
 
End Sub


Dieser Beitrag wurde von stth: 28 May 2007, 12:56 bearbeitet
ZitierenTOP
stella off post 28 May 2007, 15:32 | Antwort#4
Ok ich sollte dazu sagen dass ich sowat noch nie jemacht hab und demzufolge -sagen wir mal - wenig Plan von habe blink.gif
ZitierenTOP
yocheckit off post 28 May 2007, 18:02 | Antwort#5
mit stths eine-welt-formel wirst du sicher auch kein stück weiter kommen.. wink.gif
ZitierenTOP
mArVinTheRobot off post 28 May 2007, 18:23 | Antwort#6
Zitat(yocheckit @ 28 May 2007, 18:02)
mit stths eine-welt-formel wirst du sicher auch kein stück weiter kommen.. wink.gif
*

rofl.gif

ich sag mal so: Die Formulierung der Fragestellung lässt auch stth's Vorschlag als Teilmenge zu.

@stella: (falls Du nicht schon hinreichend pm's hast)

* beschreib doch mal wie die Anordnung der Ausgangsdaten und wie das Ergebnis aussehen soll
* Makro ist Pflicht? den sowas wie o.g. Code macht auch schon ne clevere Formelkombination
ZitierenTOP
Lars post 28 May 2007, 19:40 | Antwort#7
VBA !
ZitierenTOP
bartman121 off post 31 May 2007, 19:51 | Antwort#8
ich habe mich der ganzen Sache mal angenommen, ich hoffe, dass die - mir zugesandten - Daten der Realität entsprechen. Mittlerweile habe ich auch ein korrekt arbeitetendes Makro (hoffentlich passt es Stella auch) ...

Allerdings ist die ganze Sache wenig performant, falls mal ein Informatiker der Code optimieren will, dann darf er sich gerne melden wink.gif

Bei mir dauert die Auswetung für etwa 75k Werte gut 1Minute, ich war halt zu faul die ganze Sache geschickt zu machen wink.gif

Bei der ganzen Aktion habe ich mal wieder bemerkt wie gering die Performance bei VBA ist!

eine anders geartete Anwendung mit 150k Integer-Werten und optimierten Schleifendurchläufen unter Visual Basic (=!VBA) braucht für die Auswertung nur 0,2Sekunden ;D

mfg

bartman

PS: Allerdings habe ich langsam die Befürchtung, dass es sich um Daten aus einem MySQL-Export handelt. Sollte es wirklich das wirklich der Fall sein, so kann man die ganze Sache erheblich einfacher und schneller lösen.



Dieser Beitrag wurde von bartman121: 31 May 2007, 20:07 bearbeitet
ZitierenTOP
1 Nutzer liest/lesen dieses Thema (1 Gäste)
0 Mitglieder: