Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1208to1212
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

Button für Makro beeinflusst mein Programm

Button für Makro beeinflusst mein Programm
partykaeferchen
Liebe Makro-Experten,
ich habe folgendes Problem:
Bisher habe ich - um meine Makros zu starten - immer eine Autoform als Button genommen und mit "Makro zuweisen" ein Makro angehängt. Bei drücken des Buttons konnte ich das Makro starten. Hat immer bestens funktioniert.
Jetzt habe ich folgendes Test-Programm geschrieben:
Sub testmakro()
Dim Eintrag, Nr As Variant
Dim x As Integer
'----------------------------------------------------------------------------------------------- _
_
Nr = Sheets("Einzelschäden").Range("D6")
x = 5
While Sheets("Gesamtliste").Cells(x, 3).Value  ""
If Cells(x, 3)  Nr And Eintrag  "nein" Then
Eintrag = "ja"
Else
Eintrag = "nein"
End If
x = x + 1
Wend
If Eintrag = "nein" Then
Sheets("Gesamtliste").Cells(x, 3) = "test"
Else
Sheets("Gesamtliste").Cells(x, 3) = Nr
End If
Sheets("Gesamtliste").Select
Cells(x, 3).Select
End Sub

Das Programm soll eine Nummer in einem Feld auf eine andere Excel-Seite nur dann übernehmen, wenn die Nummer in der anderen Exel-Seite in der Spalte C nicht drin steht. Ist nun die Nr bspw. = 2011/02 und ich lasse das Makro laufen und die Spalte C enthält bereits die 2011/02, dann läuft das Makro fehlerfrei durch, wenn ich es direkt starkte. Wenn ich es dagegen über den Button starte, dann ignoriert er den schon bestehenden Eintrag und trägt die 2011/02 nochmal ein. Versteht das jemand?
Wer kann mir helfen? Vorab schon vielen Dank für Eure Hilfe!
Partykaeferchen

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
..Wenn es sich um dasselbe Pgm handelt,...
01.04.2011 14:51:21
Luc:-?
…Nein, Buggy! ;-)
Allerdings solltest du x ohnehin besser As Long deklarieren. Außerdem ist das Pgm nicht rational. Es durchläuft immer den ganzen Bereich, auch wenn Eintrag bereits "Nein" enthält und dadurch nicht mehr geändert, aber trotzdem stets neu mit "Nein" gefüllt wird…
1. macht man so etwas ohnehin besser mit einer Boolean-Variable und…
2. bietet sich hier eine Do While…If…Then Exit Do…Loop-Schleife an.
Möglicherweise hängt dein Problem damit zusammen, aber fraglich…
Gruß Luc :-?
AW: ..Wenn es sich um dasselbe Pgm handelt,...
01.04.2011 14:54:59
partykaeferchen
Hallo, danke für die Hinweise. Aber daran liegt es nicht (Du hast schon recht, das Programm muss noch überarbeitet werden um es effizienter zu machen). Wer hat noch eine Idee und kann mir helfen?
Anzeige
Noch OFFEN, Mädchen! owT
01.04.2011 14:59:33
Luc:-?
:-?
AW: Noch OFFEN, Mädchen! owT
01.04.2011 15:14:36
partykaeferchen
Hallo Luc,
ich habe mir Deine Einwendungen nochmal überlegt und ich glaube Du hast nicht gesehen, dass ich dadurch, dass ich alles durchlaufe einerseits schaue, ob es ein "ja" oder ein "nein" sein muss, aber andererseits auch das Ende der Reihe bestimme (das ich ja sonst nicht kennen würde, da es ständig wechselt) um dort den neuen Eintrag - wenn ich ein "ja" habe reinzuschreiben.
Hat also jemand noch eine Idee, was das ganze mit dem Button zu tun hat? Wer kann mir helfen?
Richtig! Aber das geht auch anders...
01.04.2011 15:18:33
Luc:-?
…(im Archiv auch xmal enthalten!) und immer neu Nein schreiben wäre ohnehin nicht nötig, Buggy… ;-)
SchöWE, Luc :-?
Anzeige
AW: Button beeinflusst mein Programm
01.04.2011 15:34:57
fcs
Hallo partykaeferchen,
das Problem ist wahrscheinlich, dass deine Schaltfläche auf dem Blatt "Einzelschäden" plaziert ist und im Code nicht bei allen Cells-Anweisungen die Referenz zum zugehörigen Tabellenblatt angegeben ist.
Beim Start des Makros per Button ist das Blatt "Einzelschäden" das aktive Blatt und
in der Zeile
If Cells(x, 3) Nr And Eintrag "nein" Then
wird dann geprüft, ob im Blatt "Einzelschäden" in Spalte C der Wert ungleich Nr ist.
Mit vollständiger Angabe der Referenz zum korrekten Tabellenblatt bei den Cells bzw. Range-Anweisungen/Methoden wird das Problem umgangen.
Gruß
Franz
Sub testmakro()
Dim Eintrag, Nr As Variant
Dim x As Integer
Nr = Sheets("Einzelschäden").Range("D6")
x = 5
With Sheets("Gesamtliste")
While .Cells(x, 3).Value  ""
If .Cells(x, 3)  Nr And Eintrag  "nein" Then
Eintrag = "ja"
Else
Eintrag = "nein"
End If
x = x + 1
Wend
If Eintrag = "nein" Then
.Cells(x, 3) = "test"
Else
.Cells(x, 3) = Nr
End If
.Select
End With
Cells(x, 3).Select
End Sub

Anzeige
AW: Button beeinflusst mein Programm
01.04.2011 15:38:51
partykaeferchen
BINGO! Der Kandidat hat 100 Punkte. Das war tatsächlich das Problem. Hab es gerade ausprobiert. Vielen vielen Dank! Wenn Du vorbeikommst kriegst Du eine Belohnungs-Praline :-)
Schönes Wochenende!

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige