Makro Eingabe Name etc. in verschiedene Tabellenblätter und Felder einfügen

  • #1
K

K!nG OhLe

Aktives Mitglied
Themenersteller
Dabei seit
16.05.2005
Beiträge
28
Reaktionspunkte
0
Ort
Laubsdorf
Guten Morgen :)

Ich habe mir ein Makro geschrieben, welches den Namen abfragt und danach in ein best. feld schreibt... Nun brauche ich aber noch eine erweiterung, damit dieses makro mir diesen Namen auch noch in verschiedene Tabellenblätter schreibt (also gleichzeitig) es kann auch in jedem Tabellenblatt das gleiche Feld sein, hauptsache er schreibt in jedes Tabellenblatt das gleiche...

Mein jetziges Makro sieht so aus

Code:
Sub Name()
 Dim s_name As String
 
 s_name = InputBox( _
  Bitte geben Sie den Namen der Bauherren ein!, _
  Eingabe Name für Bauherren, )
 If s_name =  Then Exit Sub
 
 ActiveSheet.Range(B15).Value = s_name
 
 End Sub

Was auch noch nett wär, wenn mir jemand sagen würde, wie ich das makro dann per klick auf einen link starten lassen kann!

Vielen Dank im voraus!

Mit freundlichen Grüßen OhLe
 
  • #2
Hallo K!nG OhLe,

das könnte folgendermassen aussehen:
Code:
Sub NameEingeben_InAlleBlaetter()

  Const c_ZielZelle = B15
  Dim s_name As String, ws As Worksheet

  s_name = InputBox( _
    Bitte geben Sie den Namen der Bauherren ein!, _
    Eingabe Name für Bauherren, )
  If s_name =  Then Exit Sub

  For Each ws In ActiveWorkbook.Worksheets
    ws.Range(c_ZielZelle).Value = s_name
  Next
  
  Set ws = Nothing
End Sub

zu:
Was auch noch nett wär, wenn mir jemand sagen würde, wie ich das makro dann per klick auf einen link starten lassen kann!
Meinst Du einen Button auf dem Tabellenblatt oder tatsächlich einen link?
Erklär doch den Ablauf, den Du dir vorstelltst, bitte etwas näher.

Gruß Matjes :)
 
  • #3
ich meine einen richten Link, und zwar möchte ich eine Startseite und wenn ich auf einen Link klicke, soll halt dieses Makro aufpoppen... und dann halt aufräumen ;)
 
  • #4
Hallo K!nG OhLe,

ich meine einen richten Link, und zwar möchte ich eine Startseite und wenn ich auf einen Link klicke, soll halt dieses Makro aufpoppen... und dann halt aufräumen

genau dazu brauche ich genauere Informationen  ;D

Ist deine Startseite in einer anderen Mappe ?
Welche Schritte sollen ablaufen ? Unter aufräumen kann ich mir nichts Richtiges vorstellen.

Soll es etwa so konstruiert sein?
a) Du hast eine Mappe MeinStart.xls mit einer Startseite, auf der zu deinen Templates jeweils ein link ist.
b) wenn du auf den link drückst geht eine Mappe templateXYZ.xls auf.
im Schritt b) soll der Makro ablaufen

Gruß Matjes :)
 
  • #5
also Die Startseite ist in der gleichen Mappe aber in einer anderen Tabelle!
Wenn ich auf den Link klicke, soll das Makro zur Eingabe des Namen augerufen werden und der Name soll dann in alle weiteren Tabellen kopiert werden.
 
  • #6
Hi K!nG OhLe,

damit deine Startseite nicht auch mit dem Namen beschrieben wird,
müßtest Du den Makro folgendermassen ändern und den Namen der Startseite in der Konstanten c_BlattAusnahme_Name anpassen.
Code:
Sub NameEingeben_InAlleBlaetter()

  Const c_BlattAusnahme_Name = Startseite
  Const c_ZielZelle = B15
  Dim s_name As String, ws As Worksheet

  s_name = InputBox( _
    Bitte geben Sie den Namen der Bauherren ein!, _
    Eingabe Name für Bauherren, )
  If s_name =  Then Exit Sub

  For Each ws In ActiveWorkbook.Worksheets
    If ws.Name <> c_BlattAusnahme_Name Then
      ws.Range(c_ZielZelle).Value = s_name
    End If
  Next
  
  Set ws = Nothing
End Sub

Um den Hyperlink auf deiner Startseite zu überwachen, ist der folgende Makro in die Code-Seite der Startseite zu kopieren.
Die Konstante c_RANGE_MAKROSTARTEN ist auf die Zelle anzupassen, in der dein Hyperlink steht (momentan B7).
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
  
  Const c_RANGE_MAKROSTARTEN = B7
  
  Dim Zelle As Range, s_tmp As String
  
 ->nur eine Zelle markiert ?
  If Target.Count = 1 Then
   ->Wurde die Zelle des Hyperlinks angeklickt  ?
    If Target.Address(RowAbsolute:=False, ColumnAbsolute:=False) _
      = c_RANGE_MAKROSTARTEN Then
     ->Makro starten
      Call NameEingeben_InAlleBlaetter
    End If
  End If
End Sub

Gruß Matjes  :)
 
  • #7
so subbi funzt einwandfrei :) so nun noch eine allerletzte frage :) ich möchte mit diesem link auch noch mehrere Makros aufrufen (4 an der zahl) die alle hintereinander abgefragt werden. sprich also ich klicke auf den link und er fragt zuerst nach dem Namen des Bauherren, dann nach der jetzigen Wohnhaft, dann nach dem Bauvorhaben und zum Schluß nach der Anschrift wo das Haus gebaut werden soll oder so...
 
  • #8
Hi K!nG OhLe,

dann kannst Du die Aufrufe unter dem ersten Aufruf einfügen.

Gruß Matjes  :)
Code:
      Call NameEingeben_InAlleBlaetter
      Call WohnhaftEingeben_InAlleBlaetter
      Call BauvorhabenEingeben_InAlleBlaetter
      Call BauAnschriftEingeben_InAlleBlaetter
 
  • #9
vielen dank!! :)

over and out
 
Thema:

Makro Eingabe Name etc. in verschiedene Tabellenblätter und Felder einfügen

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben