Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

VBA Bezug ändern

Betrifft: VBA Bezug ändern von: Andi
Geschrieben am: 20.08.2014 11:37:33

Hallo,

ich habe für das Kopieren eines Musters auf Grundlage eines Musters folgenden Code hier aus dem Forum verwendet:

  • Sub Kundenblaetter_anlegen()
       Dim rngMuster As Range, zz As Long, ss As Long
       
       Set rngMuster = Sheets("Vorlage").Columns("A:Y")
       
       With Sheets("Grunddaten")
          For zz = 6 To .Cells(.Rows.Count, 1).End(xlUp).Row
             For ss = 1 To Sheets.Count
                If Sheets(ss).Name = CStr(.Cells(zz, 1)) Then
                   MsgBox "Blatt '" & .Cells(zz, 1) & "' bereits vorhanden.", vbInformation
                   Exit For
                End If
             Next ss
             If ss > Sheets.Count Then
                Worksheets.Add after:=Sheets(Sheets.Count)
                rngMuster.Copy Cells(1, 1)
                Cells(2, 7) = .Cells(zz, 1)
                ActiveSheet.Name = CStr(Cells(2, 7))
             End If
          Next zz
       End With
    End Sub



  • Wie ich die Zeile der "Basis"-Liste ändern kann weiß ich jetzt, aber wie ändere ich die Spalte?

      

    Betrifft: AW: VBA Bezug ändern von: Arthur
    Geschrieben am: 20.08.2014 12:07:56

    Hallo Andi.

    Cells(Zeile, Spalte)
    Dies gilt für die Quelle ebenso wie für das Ziel.

    Gruß, Arthur


      

    Betrifft: AW: VBA Bezug ändern von: Andi
    Geschrieben am: 20.08.2014 12:16:55

    Hallo Artur,

    das funktioniert aber irgendwie nicht. Mit


  • For zz = 4 To .Cells(.Rows.Count, 1).End(xlUp).Row
    For ss = 1 To Sheets.Count


  • kann ich die Werte aus der 4ten Zeile nehmen. Aber wenn ich ss = 4 schreibe, dann nimmt er sie nicht aus der 4ten Spalte, sondern bleibt in der ersten...


      

    Betrifft: Variablenzuordnung von: Frank
    Geschrieben am: 20.08.2014 12:26:30

    Hallo Andi,

    laut Deinem Code steht in ss der Index des Blattes. ss=4 heisst also, dass im 4. Blatt gesucht/geschrieben werden soll.
    Willst Du Werte aus der 4. Spalte muss es heissen cells(Zeile,4)

    Grüsse,
    Frank


      

    Betrifft: AW: Variablenzuordnung von: Andi
    Geschrieben am: 20.08.2014 12:38:53

    Vielen Dank! Jetzt habe ich es Verstanden! ;)


      

    Betrifft: AW: Variablenzuordnung von: Andreas
    Geschrieben am: 21.08.2014 08:36:30

    Noch eine Frage: Wie richte ich es ein, dass die neu generierten Blätter den Blattschutz von der Vorlage übernehmen?


      

    Betrifft: Blatt von Vorlage von: Frank
    Geschrieben am: 21.08.2014 09:42:18

    Wenn Du mit Sheets.copy arbeitest, sollte das automatisch passieren. Ansonsten wäre wohl sheets.protect /.unprotect der richtige Weg.

    Grüsse,
    Frank


     

    Beiträge aus den Excel-Beispielen zum Thema "VBA Bezug ändern"