Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 4 von 4

Thema: Arbeitsblatt indirekt bearbeiten mit VBA in Excel 2007

  1. #1
    Registriert seit
    03.01.2006
    Ort
    Im sonnigen Süden von Österreich!
    Beiträge
    1.377
    Danke
    227
    Erhielt 182 Danke für 167 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo!

    Ich möchte ein Arbeitsblatt mit einem Variablen Namen erstellen. Dies Funktioniert auch schon wunderbar.
    Aber wenn ich in diesem Arbeitsblatt ein paar Zellen beeinflussen möchte dann weiß ich nicht wie ich dann so wie im Code "Tabelle3" den Namen angebe.
    Ich habe da schon Variablen als Type Worksheet angelegt und mit denen herumprobiert aber bei mir hängt sich der Code immer bei .Add Type auf!
    Ich weiß leider nicht mehr weiter! Weiß jemand von euch wie das funktioniert?

    Code:
    Sub BlattErstellen()
    Dim Blattname As String
    
    Blattname = InputBox("Geben sie einen Blattnamen ein")
    Worksheets.Add after:=Worksheets(Worksheets.Count)
    ActiveSheet.Name = Blattname & " -Kopf"
    
    With Tabelle3.Range("A1:A10").Validation
      .Delete
      .Add Type:=xlValidateTextLength, _
       AlertStyle:=xlValidAlertStop, _
       Formula1:="1", _
       Formula2:="20"
      .InputTitle = "Namen eingeben"
      .ErrorTitle = "Kein gültiger Namen!"
      .InputMessage = "Maximal 20 Zeichen"
      .ErrorMessage = "Sie müssen einen Namen mit einer maximalen Länge von 20 Zeichen eingeben."
    End With
    
    End Sub
    godi
    Zitieren Zitieren Arbeitsblatt indirekt bearbeiten mit VBA in Excel 2007  

  2. #2
    Registriert seit
    06.03.2008
    Ort
    Eppelborn, Saarland
    Beiträge
    132
    Danke
    33
    Erhielt 14 Danke für 14 Beiträge

    Standard

    Hallo,

    in meiner VBA habe ich es so geschrieben -

    With Worksheets ("LOGGING").Range(.Cells(11,2) usw.

    Ich hoffe es hilft dir weiter.

    Viele Grüße
    rkoe1

  3. Folgender Benutzer sagt Danke zu rkoe1 für den nützlichen Beitrag:

    godi (16.04.2008)

  4. #3
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Wenn das der original Code ist. Kannst Du ja frech weg mit
    Code:
     With ActiveSheet.Range("A1:A10")
    weiter machen.
    If you open your Mind too much, your Brain will fall out.

  5. Folgender Benutzer sagt Danke zu zotos für den nützlichen Beitrag:

    godi (16.04.2008)

  6. #4
    Avatar von godi
    godi ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    03.01.2006
    Ort
    Im sonnigen Süden von Österreich!
    Beiträge
    1.377
    Danke
    227
    Erhielt 182 Danke für 167 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo!

    Jetzt bin ich gerade draufgekommen das es nicht an dem Code gelegen hat den ich oben gepostet habe!
    Sondern ich habe zwischen Arbeitsblatt erstellen und Zellen bearbeiten noch ein .Protect drinnen gehabt.

    Code:
    Sub BlattErstellen()
    Dim Blattname As String
    
    Blattname = InputBox("Geben sie einen Blattnamen ein")
    Worksheets.Add after:=Worksheets(Worksheets.Count)
    ActiveSheet.Name = Blattname & " -Kopf"
    
    'Erste Zeile erstellen
    With ActiveSheet
      .Unprotect
      .Cells.Locked = False
      .Range("A1").Value = "Spalte 1"
      .Range("B1").Value = "Spalte 2"
      .Range("C1").Value = "Spalte 3"
      .Cells(1, 1).Locked = True
      .Cells(1, 2).Locked = True
      .Cells(1, 3).Locked = True
      .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    End With
    
    
    'Zellen bearbeiten
    With ActiveSheet.Range("A2:A10").Validation 'Worksheets(Blattname & " -Kopf").Range("A1:A10").Validation
      .Delete
      .Add Type:=xlValidateTextLength, _
       AlertStyle:=xlValidAlertStop, _
       Formula1:="1", _
       Formula2:="20"
      .InputTitle = "Namen eingeben"
      .ErrorTitle = "Kein gültiger Namen!"
      .InputMessage = "Maximal 20 Zeichen"
      .ErrorMessage = "Sie müssen einen Namen mit einer maximalen Länge von 20 Zeichen eingeben."
    End With
    
    End Sub
    Ich war der Meinung dass das .Protect nur auf die 3 Zellen wirkt und das ich danach alle anderen Zellen noch beliebig bearbeiten kann. Das war leider nicht so!
    Habe jetzt das von der Mitte nach unten Verschoben und so Funktioniert es!

    godi

Ähnliche Themen

  1. WinCC Archiv in Excel bearbeiten
    Von Helmpflicht im Forum HMI
    Antworten: 0
    Letzter Beitrag: 28.04.2011, 07:50
  2. Excel-Datei mit MP277 bearbeiten
    Von Steffen im Forum HMI
    Antworten: 3
    Letzter Beitrag: 05.08.2009, 13:41
  3. Antworten: 4
    Letzter Beitrag: 05.09.2007, 00:15
  4. Antworten: 14
    Letzter Beitrag: 29.07.2007, 22:47
  5. Protool Meldungen mit Excel bearbeiten (Im-/Export)
    Von volker im Forum Werbung und Produktneuheiten
    Antworten: 4
    Letzter Beitrag: 02.10.2005, 16:50

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •