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
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.
Mit freundlichen Grüßen
Thomas Weiss
Th-W...@web.de
Robert Feldmann <robert....@netcologne.de> schrieb in im Newsbeitrag:
39ABFD18...@netcologne.de...
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
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.
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.
>
>'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
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...
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
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.
Hallo Thomas,
siehe das Posting von Robert
>Hallo Thomas,
>um ein Macro zu starten reicht es den Namen anzugeben.
>Barcode
MfG
Michael