Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1700to1704
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA mehrere Sheets ansprechen

VBA mehrere Sheets ansprechen
11.07.2019 12:40:55
Heinz
Hallo Leute im Forum
Ich möchte gerne mit dem unten stehenden Code gleich mehrere Sheets ansprechen.
Nicht nur den Sheets "Auswertung"
Es geht in allen Sheets genau immer nach den selben Prinzip, Spalten B u. E in Zahl umwandeln.
Könnte mir bitte dazu jemand weiterhelfen?
Danke, Heinz
  • 
    Sub text_in_zahl() ' Spalte B in Sheets Auswertung in Zahl umwandeln
    'Das Makro wandelt Text in Zahlen um
    Sheets("Auswertung").Select
    ' Die letzte beschriebene Zelle wird ermittelt
    Dim loletzte As Long
    loletzte = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
    With Range("b2" & ":b" & loletzte)
    .NumberFormat = "General"
    .Value = .Value
    End With
    With Range("e2" & ":e" & loletzte)
    .NumberFormat = "General"
    .Value = .Value
    End With
    End Sub
    


  • 7
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: VBA mehrere Sheets ansprechen
    11.07.2019 13:00:24
    ede
    Hallo Heinz,
    dann teste mal:
    
    Public Sub text_in_zahl_allSheets()
    Dim objWorksheet As Worksheet
    Dim loletzte As Long
    Application.ScreenUpdating = False
    For Each objWorksheet In ThisWorkbook.Worksheets
    loletzte = objWorksheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
    With objWorksheet.Range("b2" & ":b" & loletzte)
    .NumberFormat = "General"
    .Value = .Value
    End With
    With objWorksheet.Range("e2" & ":e" & loletzte)
    .NumberFormat = "General"
    .Value = .Value
    End With
    Next
    Application.ScreenUpdating = True
    End Sub
    

    Gruss
    ede
    Anzeige
    AW: VBA mehrere Sheets ansprechen
    11.07.2019 13:05:09
    Heinz
    Hallo Ede,
    Erstmals Danke für deine Hilfe.
    Ich müsste die Sheets schon beim Namen nennen.
    War mein Fehler, Sorry
  • Es geht in allen Sheets genau immer nach den selben Prinzip, Spalten B u. E in Zahl umwandeln.

  • Es gibt schon einige Sheets die davon nicht betroffen sind.
    Danke, Heinz
    AW: VBA mehrere Sheets ansprechen
    11.07.2019 13:06:11
    ede
    woran erkennt man die betroffenen Sheets?
    AW: VBA mehrere Sheets ansprechen
    11.07.2019 13:12:28
    Heinz
    Hallo Ede,
    Die betroffenen Sheets haben den Namen;
    Auswertung, 311, 312, 321, 322, 331, 332, 333
    Gruß Heinz
    AW: VBA mehrere Sheets ansprechen
    11.07.2019 13:17:54
    ede
    dann so:
    
    Public Sub text_in_zahl_allSheets2()
    Dim objWorksheet As Worksheet
    Dim loletzte As Long
    Dim antwort As String
    Application.ScreenUpdating = False
    For Each objWorksheet In ThisWorkbook.Worksheets
    Select Case objWorksheet.Name
    Case "Auswertung", "311", "312", "321", "322", "331", "332", "333"
    loletzte = objWorksheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
    With objWorksheet.Range("b2" & ":b" & loletzte)
    .NumberFormat = "General"
    .Value = .Value
    End With
    With objWorksheet.Range("e2" & ":e" & loletzte)
    .NumberFormat = "General"
    .Value = .Value
    End With
    End Select
    Next
    

    Gruss
    ede
    Anzeige
    AW: VBA mehrere Sheets ansprechen
    11.07.2019 14:09:12
    Heinz
    Hallo Ede,
    Super, recht herzlichen Dank !!!
    SG, Heinz
    AW: VBA mehrere Sheets ansprechen
    11.07.2019 13:10:58
    ede
    dann hier mal mit Abfrage auf Sheet-Name:
    
    Public Sub text_in_zahl_allSheets()
    Dim objWorksheet As Worksheet
    Dim loletzte As Long
    Dim antwort As String
    Application.ScreenUpdating = False
    For Each objWorksheet In ThisWorkbook.Worksheets
    antwort = MsgBox("Bearbeiten von Sheet: " & objWorksheet.Name, vbYesNo)
    If antwort = vbYes Then
    loletzte = objWorksheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
    With objWorksheet.Range("b2" & ":b" & loletzte)
    .NumberFormat = "General"
    .Value = .Value
    End With
    With objWorksheet.Range("e2" & ":e" & loletzte)
    .NumberFormat = "General"
    .Value = .Value
    End With
    End If
    Next
    Application.ScreenUpdating = True
    End Sub
    

    Anzeige

    304 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige