Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zelle auffüllen über mehrere Blätter

Zelle auffüllen über mehrere Blätter
16.08.2018 18:20:26
Sven
Hallo zusammen,
ich stehe gerade vor einem Problem das, wenn ich es manuell ändere ewig dauern würde.
Ich habe eine Tabelle mit 39 Tabellenblättern.
Bei 32 davon würde ich gerne folgendes ändern:
In Spalte A,G,M,S habe eich eine Buchstaben & Nummern Kombination.
Es sind immer 2 Buchstaben am Anfang.
Die Zahlenfolge besteht aus zwischen 2 bis 4 Zahlen.
Ich würde gerne alle auf 6 Zeichen erweitern.
Sprich AA12 = AA0012, AA123 = AA0123.
Ich hoffe das mein Problem einigermaßen verständlich erklären konnte und ihr mir evtl. ein paar Denkanstöße geben könnt.
Viele Grüße

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelle auffüllen über mehrere Blätter
16.08.2018 18:29:05
Sepp
Hallo Sven,
wie unterscheiden sich die Tabellen die bearbeitet werden sollen von den restlichen?
Stehen in den Spalten auch noch andere Werte/Texte?
Haben die Spalten Überschriften?
 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: Zelle auffüllen über mehrere Blätter
16.08.2018 18:59:25
Sven
Hallo Sepp,
Vom Aufbau her sind die ersten 32 Tabellen alle gleich.
In Zeile 1 jede weitere 9. Zeile stehe eine Überschrift.
(Habe ich leider am Anfang beim Importieren mit eingefügt.)
Die restlichen Tabellen unterscheiden sich komplett.
Gruß
Sven
AW: Zelle auffüllen über mehrere Blätter
16.08.2018 19:06:46
Sepp
Hallo Sven,
dan probier mal.
Modul Modul4
Option Explicit 
 
Sub sven() 
  Dim varValue As Variant 
  Dim lngWS As Long, lngIndex As Long, lngLast As Long, lngCol As Long 
 
  On Error GoTo ErrorHandler 
 
  With Application 
    .EnableEvents = False 
    .Calculation = xlCalculationManual 
  End With 
 
  For lngWS = 1 To 32 
    With ThisWorkbook.Sheets(lngWS) 
      For lngCol = 1 To 19 Step 6 
        lngLast = Application.Max(2, .Cells(.Rows.Count, lngCol).End(xlUp).Row) 
        If Application.CountA(.Range(.Cells(2, lngCol), .Cells(lngLast, lngCol))) > 0 Then 
          varValue = .Range(.Cells(2, lngCol), .Cells(lngLast, lngCol)) 
          For lngIndex = 1 To Ubound(varValue, 1) 
            If UCase(varValue(lngIndex, 1)) Like "[A-Z][A-Z]*" Then 
              If IsNumeric(Mid(varValue(lngIndex, 1), 3)) Then 
                varValue(lngIndex, 1) = Left(varValue(lngIndex, 1), 2) & _
                  Format(Mid(varValue(lngIndex, 1), 3), "0000") 
              End If 
            End If 
          Next 
          .Range(.Cells(2, lngCol), .Cells(lngLast, lngCol)) = varValue 
        End If 
      Next 
    End With 
  Next 
 
ErrorHandler: 
 
  If Err.Number <> 0 Then 
    MsgBox "Fehler in Modul4" & vbLf & vbLf & "Prozedur:" & vbTab & "sven" & vbLf & _
      "Nummer:" & vbTab & Err.Number & vbLf & "Meldung:" & vbTab & Err.Description & vbLf & _
      IIf(Erl, "Zeile:" & vbTab & Erl, ""), vbExclamation, "Fehler!" 
    Err.Clear 
  End If 
 
  With Application 
    .EnableEvents = True 
    .Calculation = xlCalculationAutomatic 
  End With 
End Sub 
 
 
 

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: Zelle auffüllen über mehrere Blätter
16.08.2018 19:23:09
Sven
Hallo Sepp,
funktioniert leider nicht.
Ich bekomme die Fehlermeldung.
Fehler in Modul 4
Prozedure: sven
Nummer: 13
Meldung: Type mismatch
hier als beispiel ein Auszug
https://www.herber.de/bbs/user/123383.xlsx
Gruß
Sven
AW: Zelle auffüllen über mehrere Blätter
16.08.2018 19:31:13
Sven
Hallo Sepp,
funktioniert wunderbar.
Ich habe die Blätter in eine neue Tabelle kopiert und dort funktioniert es dann.
1000 Dank für deine Hilfe.
Gruß
Sven

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige