Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1064to1068
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

Warum?

Warum?
31.03.2009 12:02:37
Herbert
Habe ein Problem mit folgendem Makro:
Es soll die Spalte A nach Werten mit der Schritgrösse14 durchsuchen, danach diese kopieren und 7 Spalten weiter rechts wieder einfügen.
Bis jetzt habe ich folgendes Makro, welches aber irgendwie nicht funktioniert:

Sub Makro2()
Dim x As Integer
a = 5
For x = 1 To 1000
If Cells(1, x).Font.Size = 14 Then
Cells(1, x).Select
Copy.Selection
Cells(7, x).Select
past.Selection
Else
Next x
End Sub


Vielen Dank für eure Hilfe!
Gruss Herbert

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Warum?
31.03.2009 12:19:58
Moritz
Hey Herbert,
probier mal den Code aus. So wie ich das sehe, hast Du Zeilen und Spalten vertauscht.

Sub Makro2()
Dim x As Integer
a = 5
For i = 1 To 20
If Cells(i, 1).Font.Size = 14 Then
Cells(i, 7) = Cells(i, 1)
End If
Next i
End Sub


Viele Grüße
Moritz

AW: Warum?
31.03.2009 12:23:01
UweD
Hallo
so...


Sub Makro2()
    Dim x As Integer
    For x = 1 To 1000 ' bei 2003 nur 256 Spalten möglich
        If Cells(1, x).Font.Size = 14 Then
            Cells(1, x).Copy Cells(7, x)
        End If
    Next x
End Sub


Gruß UweD
Anzeige
AW: Warum
31.03.2009 12:28:07
UweD
Hallo nochmal
stimmt, Moritz hat Recht.
Hier der Code für Zeilenweises vergleichen.


Sub Makro2()
    Dim x As Integer
    For x = 1 To 1000
        If Cells(x, 1).Font.Size = 14 Then
            Cells(x, 1).Copy Cells(x, 7)
        End If
    Next x
End Sub


Gruß UweD
Anzeige
code ausbauen
31.03.2009 12:38:16
Herbert
Hallo euch beiden
dieser Code hat funktioniert:

Sub Makro2()
Dim x As Integer
a = 5
For i = 1 To 1000
If Cells(i, 1).Font.Size = 14 Then
Cells(i, 12) = Cells(i, 1)
End If
Next i
End Sub


Jetzt aber meine Frage, kann ich den ausbauen, so dass wenn ich auf einen Button drücke, dieser Code für die Sheets Monat1, Monat2, Monat3,...,Monat12 ausgeführt wird?
Vielen Dank für eure Hilfe!
Gruss Herbert

AW: code ausbauen
31.03.2009 12:53:16
D.Saster
Hallo,

Sub Makro2()
Dim x As Integer, wks As Worksheet
'a = 5
For Each wks In Worksheets
If wks.Name Like "Monat*" Then
With wks
For i = 1 To 1000
If .Cells(i, 1).Font.Size = 14 Then .Cells(i, 12) = .Cells(i, 1)
Next i
End With
End If
Next wks
End Sub


Gruß
Dierk

Anzeige
AW: code ausbauen
31.03.2009 12:56:57
UweD
hallo
so...


Sub Makro2()
    On Error GoTo Fehler
    Dim TB1, i%, LR&, x%
    For i = 1 To 12
        Set TB1 = Sheets("Monat" & i)
        LR = TB1.Cells(Rows.Count, 1).End(xlUp).Row 'letzte Zeile der Spalte
        For x = 1 To LR
            If TB1.Cells(x, 1).Font.Size = 14 Then
                TB1.Cells(x, 1).Copy TB1.Cells(x, 7)
            End If
        Next x
    Next i
    Err.Clear
Fehler:
    If Err.Number <> 0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err.Clear
    Application.EnableEvents = True
    Application.DisplayAlerts = True
End Sub


Fehler werden angezeigt, wenn z.B. das Blatt nicht existiert
Gruß UweD
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige