Thema Datum  Von Nutzer Rating
Antwort
03.03.2008 09:43:06 tina
NotSolved
03.03.2008 11:58:33 Holger
NotSolved
03.03.2008 13:36:39 tina
NotSolved
Blau Aw:Aw:Aw:makro spinnt??
03.03.2008 17:40:32 Holger
NotSolved

Ansicht des Beitrags:
Von:
Holger
Datum:
03.03.2008 17:40:32
Views:
604
Rating: Antwort:
  Ja
Thema:
Aw:Aw:Aw:makro spinnt??
Hallo Tina,
eine UserForm ist ein Dialog, wie du ihn aus den Office-Anwendungen (z.B. Suchen und Ersetzen) kennst, nur dass du hier selbst festlegen kannst, wie er aussehen und was er bewirken soll.

Ich versuche einmal, dir den Einstieg in die VBA-Welt zu erklären, indem wir eine UserForm erzeugen, in die du das Makro einfügen kannst:
Du hast die betreffende Arbeitsmappe geöffnet. Gehe mit der Maus auf den der Reiter eines Tabellenblattes, klicke mit der rechten Maustaste und wähle in dem sich öffnenden Menü „Code anzeigen“. Es öffnet sich der VBA-Bildschirm mit einer Titelzeile, einer Menüzeile, einer Symbolzeile, einem Projektfenster, einem Eigenschaftenfenster, einem Überwachungsfenster und einem großen Code-Fenster.
Jetzt fügst du eine UserForm ein. Dazu klickst du entweder auf das zweite Symbol von links in der Symbolzeile oder klickst das Einfügenmenü an und wählst dort UserForm. Es erscheinen eine leere UserForm (graues Rechteck) mit dem blauen Titel UserForm1 und ein Werkzeugsammlungsfenster.
Mache die UserForm etwas größer, indem du die Maus auf die kleinen Quadrate stellst und bei festgehaltener linker Maustaste ziehst.
Im Eigenschaftenfenster sind änderbare Eigenschaften der UserForm und ihre gegenwärtige Einstellung aufgelistet. Vielleicht hast du bemerkt, dass sich die Eigenschaften Height und Width beim Verändern der Größe änderten. Klicke mit der linken Maustaste in das Feld neben (Name), entferne UserForm1, schreibe Zusammen und klicke mit Maus auf die UserForm. Jetzt heißt die UserForm Zusammen. Das kannst du kontrollieren, indem du im Projektfenster Formulare anklickst. Vielleicht musst du dafür die Werkzeugsammlung verschieben. Es sollte die UserForm Zusammen aufgelistet werden.
Jetzt fügst du ein Bezeichnungsfeld (Label1) ein. Klicke dazu auf das A in der Werkzeugsammlung und ziehe bei gehaltener linker Maustaste ein Label in die linke obere Ecke der UserForm. Die Größe kannst du wieder an den Quadraten einstellen. Das Label heißt Label1. Es hat u.a. die Eigenschaft Caption (= Beschriftung). Diese ändere ich während des Makroablaufes.
Füge jetzt ein Kombinationsfeld (ComboBox1) unterhalb von Label in die UserForm ein. Welches Symbol das ist, kannst du herausfinden, wenn du mit der Maus kurz über den einzelnen Symbolen verweilst. Mache die ComboBox nicht zu hoch, vielleicht 0,8 cm.
Lass unterhalb der ComboBox etwas Platz frei, weil sie sich beim Programmablauf öffnet und Auswahlmöglichkeiten anzeigt, und füge darunter eine Befehlsschaltfläche (CommandButton1) ein.
Wiederhole jetzt alles für die entsprechenden Felder rechts neben den bisherigen. Die neuen Steuerelemente haben die Endung 2.
Klicke jetzt doppelt auf die UserForm an einer Stelle ohne Steuerelemente. Es öffnet sich das Codefenster für die UserForm. Lösche alle Einträge im Codefenster und füge das gesamte Makro vom 28.02. mit allen Subs ein.
Du kannst jetzt das Makro starten, indem du auf das kleine, auf der Spitze stehende Dreieck in der Symbolzeile klickst.
Du kannst auch einem CommandButton auf der Arbeitsmappe ein Makro zuordnen, dass dann diese UserForm startet. Die Codezeilen wären dazu

Sub Schaltfläche1_BeiKlick() ‚oder so ähnlich
Load Zusammen
Zusammen.Show
End Sub

Melde bitte den Erfolg oder Misserfolg
Gruß
Holger




tina schrieb am 03.03.2008 13:36:39:

Hallo Holger....ja ich bin tina.......nur hab ich leider keine ahnungg, was eine userform ist..... und daher konnte ich mit deiner hilfe nichts anfangen, weil ich leider auch nicht testen konnte ob die funktioniert...bin in makro und excel nicht so wirklich stark...gibt es da nicht auch ne lösung phne userform...(was ist ne userform überhaupt.........

lieber gruß´tina


Holger schrieb am 03.03.2008 11:58:33:

Hallo Tina,
ich vermute du bist identisch mit Tina H, die am 27.02. dasselbe Problem schickte. Falls nicht, studiere die Lösung, die ich am 28.02., 13:12 Uhr schickte, und probiere sie aus. Bei Problemem melde dich?
Gruß
Holger

tina schrieb am 03.03.2008 09:43:06:


Ich bin mir sicher, einer von euch kann mir helfen und zwar......habe ich ein problem mit diesem makro, er soll vorgegebene zeilen durchsuchen, vergleichen und bei übereinstimmung des inhalts soll er bestimmte zeilen kopieren.......diese zeilen sollen allerdings auch noch eingefügt werden in neues blatt, in ganz bestimmten fest definierten zeilen...... hat da jemand ne idee was meinem makro fehlt??
ein weiteres problem ist es, das alle bereiche variabel sein müssen, das heißt, die inhalte werden öfter verändert, somit auch die platzierung.....
es soll von der ersten zeile/spalte in der 1 tabelle nach unten durchsucht, verglichen und kopiert werden.....
dann erst die zweite spalte der ersten...also immer die inhalte der ersten(quelle) mit den anderen zwei tabellen vergleichen und bei übereinstimmung die bestimmten zeilen in das blatt ergebnis kopieren.....
der button bzw der makro ist auf das arbeitsblatt gelegt, in dem die tabellen stehen....dank für eure hilfe..



Sub Kopieren()

Dim i As Integer
Dim j As Integer
Dim SpaltenZähler As Integer
Dim Tab2 As Boolean
Dim Tab3 As Boolean
Dim QuelleName
Dim QuellePaket

For i = 7 To 20
SpaltenZähler = 1
'Quelldaten aus der 1. Tabelle lesen
QuelleName = Cells(i, 1) ' 1 = A
QuellePaket = Cells(i, 8) ' 8 = H

'2. Tabelle überprüfen
For j = 20 To 35
If Cells(j, 2) = QuelleName And Cells(j, 17) = QuellePaket Then
'KopiereDieseZeile - Spalten B, C, G und K
Cells(j, 2).Copy (Worksheets("Ergebnis").Cells(SpaltenZähler, 8))
Cells(j, 3).Copy (Worksheets("Ergebnis").Cells(SpaltenZähler, 18))
Cells(j, 7).Copy (Worksheets("Ergebnis").Cells(SpaltenZähler, 22))
Cells(j, 11).Copy (Worksheets("Ergebnis").Cells(SpaltenZähler, 12))
Tab2 = True
End If
Next j

For j = 44 To 64
If Cells(j, 2) = QuelleName And Cells(j, 17) = QuellePaket Then
'KopiereDieseZeile - Spalten B, C, G und K
Cells(j, 3).Copy (Worksheets("Ergebnis").Cells(SpaltenZähler, 17))
Cells(j, 7).Copy (Worksheets("Ergebnis").Cells(SpaltenZähler, 21))
Cells(j, 11).Copy (Worksheets("Ergebnis").Cells(SpaltenZähler, 11))
Tab3 = True
End If
Next j

If Tab2 = True Or Tab3 = True Then
SpaltenZähler = SpaltenZähler + 1
Tab2 = False
Tab3 = False
End If
Next i

End Sub


lieber gruß tina


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
03.03.2008 09:43:06 tina
NotSolved
03.03.2008 11:58:33 Holger
NotSolved
03.03.2008 13:36:39 tina
NotSolved
Blau Aw:Aw:Aw:makro spinnt??
03.03.2008 17:40:32 Holger
NotSolved