Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Makro aufrufen funktioniert nicht

110 views
Skip to first unread message

Thomas Weiss

unread,
Aug 29, 2000, 3:00:00 AM8/29/00
to
Hallo,
warum funktioniert das Makro nicht,wenn ich es mit folgendem Befehl aufrufe
Application.Run "Barcode" Die Spalte (A) wird nicht hervorgehoben und mit
der gewünschten Schriftart formatiert.

Sub Barcode()
Columns(1).Select
With Selection.Font
.Name = "C39 AIAG B-3 54pt LJ3" ' Schiftart Barcode 39
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
Range("A1").Select
With Selection.Font
.Name = "Times New Roman"
.FontStyle = "Standard"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
End Sub

Rufe ich das Makro über den Befehl "Extra, Makro aufrufen" auf, funktioniert
das es dagegen tadellos. Da Windows sonst keine Probleme im Umgang mit der
Schriftart hat, glaube das der Fehler im Programm (aufgezeichnet) zu suchen
ist. Nur als Anfänger ist mir nicht klar wo. Wer kann mir bei dem Problem
behilflich sein?

Ich möchte mich jetzt schon reicht herzlich bedanken.

Mit freundlichen Grüßen
Thomas Weiss
Th-W...@web.de

Robert Feldmann

unread,
Aug 29, 2000, 3:00:00 AM8/29/00
to
Hallo Thomas,

um ein Macro zu starten reicht es den Namen anzugeben.

sub test()

Barcode

end sub


Thomas Weiss schrieb:


>
> Hallo,
> warum funktioniert das Makro nicht,wenn ich es mit folgendem Befehl aufrufe
> Application.Run "Barcode" Die Spalte (A) wird nicht hervorgehoben und

> Rufe ich das Makro über den Befehl "Extra, Makro aufrufen" auf, funktioniert

--
bis dann,
Robert

Nicht was Du sagst ist entscheidend,
sondern was verstanden wird.


Thomas Weiss

unread,
Aug 29, 2000, 6:41:22 PM8/29/00
to
Hallo Robert,
vielen Dank Robert für den Hinweis. Ich habe leider etwas wichtiges
vergessen. Mit dem Befehl, wollte ich das Makro aus einem Textfeld heraus
aufrufen. Der Befehl "Application.Run...." wird in meinen VBA-Buch genau
dazu gebraucht, ein Makro von einem Textfeld heraus aufzurufen. Kannst Du
mir sagen, warum das Makro nicht die gewünschte Wirkung hat, oder was ich
sonst falsch gemacht habe. Als Programm benutze ich Excel 2000 unter Windows
98 SE. Nochmals vielen Dank für deine schnelle Antwort:

Mit freundlichen Grüßen
Thomas Weiss
Th-W...@web.de

Robert Feldmann <robert....@netcologne.de> schrieb in im Newsbeitrag:
39ABFD18...@netcologne.de...

Peter Haserodt

unread,
Aug 30, 2000, 3:00:00 AM8/30/00
to
Hi Thomas,
so ganz genau sehe ich auch noch nicht was du willst.
Steht in der Textbox dieser Run Befehl oder ???

Schau dir mal die Hilfe zum Run Befehl an. Dieser bezieht sich m.E.
auf a) Excel-4 Macros und b Funktionen aber habe mich damit jetzt
nicht eingehender beschäftigt.

Gruß Peter

Robert Feldmann

unread,
Aug 30, 2000, 3:00:00 AM8/30/00
to
Hallo Thomas,

Thomas Weiss schrieb:


>
> Hallo Robert,
> vielen Dank Robert für den Hinweis. Ich habe leider etwas wichtiges
> vergessen. Mit dem Befehl, wollte ich das Makro aus einem Textfeld heraus
> aufrufen. Der Befehl "Application.Run...." wird in meinen VBA-Buch genau
> dazu gebraucht, ein Makro von einem Textfeld heraus aufzurufen. Kannst Du

Jetzt kann ich Dir gar nicht mehr folgen. Macro aus einem Textfeld
heraus aufrufen???? Beschreib doch bitte mal genauer den Ablauf.
Wo ist das Textfeld?
Wie wird der Inhalt des Textfeldes im Macrocode ausgewertet?
Ist alles in einer Userform?
Wo steht die Sub "Barcode"? In einem Modul? In einer Tabelle? In
"DieseArbeitsmappe"? In der Userform (falls verwendet)?
Verwendest Du Buttons zum Starten? (TakeFokusOnClick=false?)
Poste den betreffenden Code hier.

Dein Posting klingt als würdest Du in ein Textfeld einfach
"Application.Run "Barcode"" als Text reinschreiben und erwarten das
etwas passiert.

Thomas Weiss

unread,
Aug 31, 2000, 3:00:00 AM8/31/00
to
Hallo Robert,

vielen herzlichen Dank für deine Hilfe. Leider ist mir ein Fehler
unterlaufen, ich will den Befehl nicht von einem Textfeld starten, sondern
aus einem CommandButton heraus. Der Inhalt des CommandButton sieht
folgendermaßen aus:

Private Sub CHkZugOK_Click()
CHkZugOK.Accelerator = "F"
'Ruft den Autofilter auf und übergibt den Werte aus "Zug1Text". "Zug2Text"
an den Autofilter.
Selection.AutoFilter Field:=7, Criteria1:=">" & Zug1Text.Text,
Operator:=xlOr, _
Criteria2:="<" & Zug2Text.Text
'Abfrage PZN in Barcode 39
BarPrüfen = MsgBox("Möchten Sie die PZN-Nummern in Barcode 39 umwandeln?",
vbYesNo)
If BarPrüfen = vbNo Then
GoTo Weiter
'Makro Barcode aufrufen
Application.Run "Barcode"
Weiter:
'Die Anwendung wird geschlossen
Unload Me
End If
End Sub

Das Makro Barcode wurde aufgezeichnet und unter Barcode (Modul)
abgespeichert. Die Schriftart Barcode ist zusätzlich
installiert worden und soll die Zahlen der Spalte "A" in einem Barcode
umwandeln. Sonderbar ist nur, wenn ich das Makro über den Befehl
"Extra -->Extra --> Makro --> Ausführen" starte, läuft es ohne Probleme. Ich
möchte aber das erst eine Liste durch den Autofilter sortieren lassen und
nach Rückfrage die Zahlen im Barcode umwandeln.

Ich das die Sache jetzt für Dich klarer geworden ist und Du mir helfen
kannst. Nochmals vielen Dank.

Mit freundlichen Grüßen
Thomas Weis

"Robert Feldmann" <robert....@netcologne.de> schrieb im Newsbeitrag
news:39AD452B...@netcologne.de...


> Hallo Thomas,
>
> Thomas Weiss schrieb:
> >

> > Hallo Robert,
> > vielen Dank Robert für den Hinweis. Ich habe leider etwas wichtiges
> > vergessen. Mit dem Befehl, wollte ich das Makro aus einem Textfeld
heraus
> > aufrufen. Der Befehl "Application.Run...." wird in meinen VBA-Buch genau
> > dazu gebraucht, ein Makro von einem Textfeld heraus aufzurufen. Kannst
Du
>

> Jetzt kann ich Dir gar nicht mehr folgen. Macro aus einem Textfeld
> heraus aufrufen???? Beschreib doch bitte mal genauer den Ablauf.
> Wo ist das Textfeld?
> Wie wird der Inhalt des Textfeldes im Macrocode ausgewertet?
> Ist alles in einer Userform?
> Wo steht die Sub "Barcode"? In einem Modul? In einer Tabelle? In
> "DieseArbeitsmappe"? In der Userform (falls verwendet)?
> Verwendest Du Buttons zum Starten? (TakeFokusOnClick=false?)
> Poste den betreffenden Code hier.
>
> Dein Posting klingt als würdest Du in ein Textfeld einfach
> "Application.Run "Barcode"" als Text reinschreiben und erwarten das
> etwas passiert.
>

Rudi Kelchmann

unread,
Aug 31, 2000, 8:13:21 AM8/31/00
to
"Thomas Weiss" <th-w...@web.de>, schreibt;

>'Makro Barcode aufrufen
>Application.Run "Barcode"
>Weiter:

Das muß aber so heißen:
Application.Run("Barcode")

HTH


--
Gruß und ciao,

Rolf Ca.
http://www.spacewood.de
my self
http://www.califer.de

Thomas Weiss

unread,
Aug 31, 2000, 10:47:11 AM8/31/00
to
Hallo Rudi,

vielen Dank die Hilfe aber leider besteht das Problem immer noch. Ich glaube
aber, ich kenne jetzt das Problem, bin mir aber nicht sicher wie man es
lösen kann. Kann man überhaupt auf Schriftarten so einfach zugreifen,
solange ein Userform-Fenster geöffnet ist? Wenn das nicht möglich sein
sollte, wie kann ich dennoch an mein gewünschtes Ziel kommen?

Mit freundlichen Grüßen
Thomas Weiss

"Rudi Kelchmann" <bas...@t-online.de> schrieb im Newsbeitrag
news:iqisqs47jtmcd5oav...@4ax.com...

Rudi Kelchmann

unread,
Aug 31, 2000, 11:46:06 AM8/31/00
to
"Thomas Weiss" <th-w...@web.de>
schreibt u.a. am Thu, 31 Aug 2000 16:47:11 +0200 :

>
>aber leider besteht das Problem immer noch.

Nun, daß Du aus einer textbox heraus nicht direkt die Prozedur
aufrufen kannst ist Dir klar!?

Du kannst nur so:

Dim auswahl
auswahl = Userform1.Textbox1.Value

#achdem Du den Namen des macros übergeben hast.
#idiesem Fall müsstest Du in die Textbox das Wort *Barcode*
#schreiben

Sähe nach Ereignis mit Commandbutton dann etwa so aus.
private Sub CommandButton1_click()
Dim auswahl
auswahl = Userform1.Textbox1.Value
Userform1.hide
Application.Run(auswahl)
End Sub

Nun Deine Spalte Formatieren:
Sub Barcode()
With Selection.Font
. Name = "BernhardTango BT"
.FontStyle = "Regular Fett"
.Size = 11


.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone

.ColorIndex = 1
End With
End Sub

Der wesentliche Teil ist eben, den richtigen Fontnamen angeben. Nicht
immer wird in Win der Dateiname gleich Fontname angezeigt.

>Ich glaube
>aber, ich kenne jetzt das Problem

> Kann man überhaupt auf Schriftarten so einfach zugreifen,
>solange ein Userform-Fenster geöffnet ist?

Eben deswegen schließe_vorher den Dialog, s.oben.

>Mit freundlichen Grüßen
>Thomas Weiss

HTH
--
Gruß und ciao,

Rudi

Robert Feldmann

unread,
Aug 31, 2000, 1:06:06 PM8/31/00
to
Hallo Thomas,

Thomas Weiss schrieb:
>

> aus einem CommandButton heraus. Der Inhalt des CommandButton sieht
> folgendermaßen aus:

Hast Du die Eigenschaft "TakeFokusOnClick" des Buttons auf False
gesetzt? Sonst beziehen sich weitere Befehle die auf "Selection"
basieren auf den Button. Nicht auf irgend welche Zellen. Nach dem
Click auf den Button ist er ja "Selectiert".

> 'Makro Barcode aufrufen
> Application.Run "Barcode"

Ich bleibe dabei. Du brauchst kein Application.Run. Schreib einfach
Barcode in die Zeile, ohne Anführungszeichen.

> Das Makro Barcode wurde aufgezeichnet und unter Barcode (Modul)
> abgespeichert. Die Schriftart Barcode ist zusätzlich
> installiert worden und soll die Zahlen der Spalte "A" in einem Barcode
> umwandeln. Sonderbar ist nur, wenn ich das Makro über den Befehl
> "Extra -->Extra --> Makro --> Ausführen" starte, läuft es ohne

Ja, dann ist auch kein Button selektiert. ;-)

Probleme. Ich
> möchte aber das erst eine Liste durch den Autofilter sortieren lassen und
> nach Rückfrage die Zahlen im Barcode umwandeln.

Autofilter sortiert aber nicht, er filtert aus. Dadurch werden nur die
Zellen mit Barcode formatiert die noch sichtbar sind. Hättest Du mich
vorher gefragt, hätte ich gesagt "Es wird die ganze Spalte formatiert,
egal was Du filterst". So kann man sich irren.

Noch ein Wort zum Macro Barcode.

Sub Barcode()
Columns(1).Select
With Selection.Font

Du solltest hier ein wenig genauer referenzieren. Welche Mappe und
welches Blatt Du meinst.

Beispiel:

Sub Barcode()
Dim WB as Object
Dim SH as Object
Set WB = ActiveWorkbook
'oder ThisWorkbook wenn der Code in der gleichen Mappe ist.
'oder einer beliebigen anderen geöffneten Mappe.
'dann Workbooks("Mappe1")
Set SH = WB.ActiveSheet
' oder WB.Sheets("Blattname") für ein bestimmtes Blatt

Jetzt ist genau definiert was sich hinter SH verbirgt.

Jetzt kannst Du mit:
SH.Columns(1).Select
oder besser
With SH.Columns(1).Font
...
...
...
...
End With
weiter machen.

Michael Schwimmer

unread,
Aug 31, 2000, 8:31:45 AM8/31/00
to
Thomas Weiss <th-w...@web.de> schrieb in im Newsbeitrag:
e16rmeyEAHA.246@cppssbbsa05...
einem Textfeld starten, sondern

> aus einem CommandButton heraus. Der Inhalt des CommandButton sieht
> folgendermaßen aus:
> 'Makro Barcode aufrufen
> Application.Run "Barcode"

Hallo Thomas,
siehe das Posting von Robert

>Hallo Thomas,
>um ein Macro zu starten reicht es den Namen anzugeben.

>Barcode

MfG
Michael


0 new messages