Thema Datum  Von Nutzer Rating
Antwort
13.02.2014 14:59:53 Tommy1991
NotSolved
13.02.2014 17:52:43 H27
NotSolved
14.02.2014 09:16:17 Tommy1991
NotSolved
Blau Per Klick Übertrag in 3. Tabellenblatt
14.02.2014 11:37:31 H27
NotSolved

Ansicht des Beitrags:
Von:
H27
Datum:
14.02.2014 11:37:31
Views:
921
Rating: Antwort:
  Ja
Thema:
Per Klick Übertrag in 3. Tabellenblatt

Hallo Tommy1991

soweit ich das jetzt "raff"

mach ich mir eine Testumgebung

in der Arbeitsmappe besteht eine leere Tabelle(1)-Kalkulation u. leere Tabelle(3)-Angebot

erzeuge mir "meine" Formularsteuerelemente

 

Sub TestErzeugeSchaltfläche()

.OnAction = "MakroÜbernahmeWenn" – beim Klick auf

 

Sub TestErzeugeCheckboxen() – und darin die "Vereinbarung" wie du  gewünscht

< Kontrollkästchen ist z. B. in A6 und der Text der übertragen werden soll, steht in B6

also : .Name = "K" & Cells(Zeile, Spalte).Address – jede Checkbox individuell

< Kontrollkästchen ist z. B. in A6 – die heißt jetzt "K$A$6 "

 

Sub MakroÜbernahmeWenn() – prüft alle Kästchen auf "gedrückt = value 1"

holt sich den Namen der "gedrückten" – entfernt das "K" und erkennt jetzt :

< Kontrollkästchen ist z. B. in A6 – mach daraus eine Rangeobjekt

< und der Text der übertragen werden soll, steht in B6 – verschiebe das Range um 1 x rechts und

kopiere das Range nach Tabelle3 bei gleicher Adresse

 

Gruß H27

Option Explicit
Sub TestErzeugeSchaltfläche()
Rem in der Arbeitsmappe besteht eine leere Tabelle(1)-Kalkulation u. leere Tabelle(3)-Angebot
Dim x As Long 'Zähler
Rem bei Bedarf erst Bestand löschen
For x = ActiveSheet.Buttons.Count To 1 Step -1
  ActiveSheet.Buttons(x).Delete
Next x
ActiveSheet.Buttons.Add(0, 0, 160, 20).Select
With Selection
  .OnAction = "MakroÜbernahmeWenn"
  .Characters.Text = "Zelle daneben übernehmen"
  '
End With
End Sub

Sub TestErzeugeCheckboxen()
Rem in der Arbeitsmappe besteht eine leere Tabelle(1)-Kalkulation u. leere Tabelle(3)-Angebot
Dim Spalte As Long
Dim chkIndex As Long
Dim Zeile As Long
Dim chkName As String
Dim x As Long 'Zähler
'
Rem bei Bedarf erst Bestand löschen
For x = ActiveSheet.CheckBoxes.Count To 1 Step -1
  ActiveSheet.CheckBoxes(x).Delete
Next x
Rem welche Zeilen, ggf. springen
For Zeile = 4 To 6 Step 2
  Rem welche Spalten, ggf. springen
  For Spalte = 1 To 4 Step 2
    Columns(Spalte).ColumnWidth = 3  'meine Festlegung
    chkIndex = chkIndex + 1
    ActiveSheet.CheckBoxes.Add( _
      Cells(Zeile, Spalte).Left, _
      Cells(Zeile, Spalte).Top, _
      Cells(Zeile, Spalte).Width, _
      Cells(Zeile, Spalte).Height).Select
    With Selection
      .Characters.Text = ""
      .PrintObject = False
      .Name = "K" & Cells(Zeile, Spalte).Address
    End With
  Rem zum Test halt einen einen Text in die Zelle daneben
    Cells(Zeile, Spalte + 1).Formula = _
    Format(Spalte, "#0")
    Cells(Zeile, Spalte + 1).Formula = _
      Cells(Zeile, Spalte + 1).Formula & " . "
    Cells(Zeile, Spalte + 1).Formula = _
      Cells(Zeile, Spalte + 1).Formula & _
       Format(Zeile, "#0" & " Mein Text")
Next Spalte
Next Zeile
End Sub

Sub MakroÜbernahmeWenn()
Dim x As Long         'Zähler
Dim sName As String   'Name der Checkbox
Dim Quelle As Range   'Adresse aus Name der Checkbox
For x = 1 To ActiveSheet.CheckBoxes.Count
  If ActiveSheet.CheckBoxes(x).Value = 1 Then
    sName = ActiveSheet.CheckBoxes(x).Name
    sName = Replace(sName, "K", "")
    Set Quelle = Range(sName)
    Set Quelle = Quelle.Offset(0, 1) 'die Zelle daneben
    Quelle.Copy Destination:=Tabelle3.Range(Quelle.Address)
  End If
Next x
End Sub

 

 


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
13.02.2014 14:59:53 Tommy1991
NotSolved
13.02.2014 17:52:43 H27
NotSolved
14.02.2014 09:16:17 Tommy1991
NotSolved
Blau Per Klick Übertrag in 3. Tabellenblatt
14.02.2014 11:37:31 H27
NotSolved