![]() |
Betrifft: Habe versucht einem Makro Variablen hinzuzufügen..
von: Jenny
... und jetzt funktioniert es nicht mehr. Könnt ihr mir bitte helfen?
Hallo erstmal,
Die 4 Fett und kursiv geschrieben Teile habe ich zu einem ohne diese Teile funktionierenden Makro hinzugefügt. Jetzt wird allerdings das was in den Variablen nix4 - nix7 steht mitkopiert, obwohl das Makro eigentlich genau dazu dienen soll diese 7 Texte nicht zu kopieren.
Was habe ich falsch gemacht?
Die Texte in nix1-3 werden nach wie vor wie es sein soll, außen vorgelassen.
Danke
Jenny
Sub In_einer_Spalte_zusammenfassen()
Sheets.Add After:=ActiveSheet
ActiveSheet.Name = "Käsekuchen"
Dim imdb As Worksheet, noimdb As Worksheet, alle As Worksheet
Dim z_imdb As Double, z_noimdb As Double
Dim rng1 As Range, rng2 As Range
Dim nix1 As String, nix2 As String, nix3 As String, nix4 As String, nix5 As String, _
nix6 As String, nix7 As String
Dim i As Double, ziel As Range
Set imdb = Worksheets("imdb")
Set noimdb = Worksheets("no imdb")
Set alle = Worksheets("Käsekuchen")
z_imdb = imdb.UsedRange.Rows.Count
z_noimdb = noimdb.UsedRange.Rows.Count
Set rng1 = imdb.Range(imdb.Cells(1, 3), imdb.Cells(z_imdb, 10))
Set rng2 = noimdb.Range(noimdb.Cells(1, 2), noimdb.Cells(z_noimdb, 17))
nix1 = "unknown"
nix2 = "unknowns"
nix3 = "na"
nix4 = "+ more"
nix5 = "None"
nix6 = "Uniknowns"
nix7 = "others"
i = 1
Set ziel = alle.Cells(i, 1)
For Each Cell In rng1
If Trim(Cell.Value) <> "" Then
If Cell.Font.Color = RGB(255, 0, 0) Then
If LCase(Trim(Cell.Value)) <> nix1 And LCase(Trim(Cell.Value)) <> nix2 And _
LCase(Trim(Cell.Value)) <> nix3 And LCase(Trim(Cell.Value)) <> nix4 <> nix5 <> nix6 <> _
nix7 Then
ziel = Cell.Value
i = i + 1
Set ziel = alle.Cells(i, 1)
ziel.Select
Else
End If
Else
End If
Else
End If
Next
For Each Cell In rng2
If Trim(Cell.Value) <> "" Then
If LCase(Trim(Cell.Value)) <> nix1 And LCase(Trim(Cell.Value)) <> nix2 And _
LCase(Trim(Cell.Value)) <> nix3 And LCase(Trim(Cell.Value)) <> nix4 <> nix5 <> nix6 <> _
nix7 Then
ziel = Cell.Value
i = i + 1
Set ziel = alle.Cells(i, 1)
ziel.Select
Else
End If
Else
End If
Next
End Sub
![]() |
Betrifft: AW: Habe versucht einem Makro Variablen
von: Crazy Tom
If LCase(Trim(Cell.Value)) <> nix1 _
And LCase(Trim(Cell.Value)) <> nix2 _
And LCase(Trim(Cell.Value)) <> nix3 _
And LCase(Trim(Cell.Value)) <> nix4 _
And LCase(Trim(Cell.Value)) <> nix5 _
And LCase(Trim(Cell.Value)) <> nix6 _
And LCase(Trim(Cell.Value)) <> nix7 Then
![]() |
Betrifft: AW: Habe versucht einem Makro Variablen hinzuzufügen..
von: Sepp
Sub In_einer_Spalte_zusammenfassen()
Dim imdb As Worksheet, noimdb As Worksheet, alle As Worksheet
Dim z_imdb As Double, z_noimdb As Double
Dim rng1 As Range, rng2 As Range, rng As Range
Dim nix1 As String, nix2 As String, nix3 As String, nix4 As String
Dim nix5 As String, nix6 As String, nix7 As String
Dim i As Double, ziel As Range
Sheets.Add After:=ActiveSheet
ActiveSheet.Name = "Käsekuchen"
Set imdb = Worksheets("imdb")
Set noimdb = Worksheets("no imdb")
Set alle = Worksheets("Käsekuchen")
z_imdb = imdb.UsedRange.Rows.Count
z_noimdb = noimdb.UsedRange.Rows.Count
Set rng1 = imdb.Range(imdb.Cells(1, 3), imdb.Cells(z_imdb, 10))
Set rng2 = noimdb.Range(noimdb.Cells(1, 2), noimdb.Cells(z_noimdb, 17))
nix1 = "unknown"
nix2 = "unknowns"
nix3 = "na"
nix4 = "+ more"
nix5 = "None"
nix6 = "Uniknowns"
nix7 = "others"
i = 1
Set ziel = alle.Cells(i, 1)
For Each rng In rng1
If Trim(rng.Value) <> "" Then
If rng.Font.Color = RGB(255, 0, 0) Then
If LCase(Trim(rng.Value)) <> nix1 And _
LCase(Trim(rng.Value)) <> nix2 And _
LCase(Trim(rng.Value)) <> nix3 And _
LCase(Trim(rng.Value)) <> nix4 And _
LCase(Trim(rng.Value)) <> nix5 And _
LCase(Trim(rng.Value)) <> nix6 And _
LCase(Trim(rng.Value)) <> nix7 Then
ziel = rng.Value
i = i + 1
Set ziel = alle.Cells(i, 1)
ziel.Select 'wozu?
End If
End If
End If
Next
'oder
For Each rng In rng2
If Trim(rng.Value) <> "" Then
Select Case LCase(Trim(rng.Value))
Case nix1, nix2, nix3, nix4, nix5, nix6, nix7
Case Else
ziel = rng.Value
i = i + 1
Set ziel = alle.Cells(i, 1)
ziel.Select
End Select
End If
Next
End Sub
![]() |
Betrifft: AW: Habe versucht einem Makro Variablen hinzuzufügen..
von: Jenny
Geschrieben am: 31.05.2015 17:53:10
Hallo erstmal,
ich verzweifele langsam
habe jetzt die Version von Sepp benutzt, Original so wie sie da steht,, nix5 und nix6 werden immer noch kopiert, die anderen nicht.
Ich bin ratlos.
Gruß
Jenny
![]() |
Betrifft: AW: Habe versucht einem Makro Variablen hinzuzufügen..
von: Sepp
![]() |
Betrifft: AW: Habe versucht einem Makro Variablen hinzuzufügen..
von: Jenny
![]() |
Betrifft: AW: Habe versucht einem Makro Variablen hinzuzufügen..
von: Sepp
![]() |
Betrifft: AW: Habe versucht einem Makro Variablen hinzuzufügen..
von: Jenny
![]() |
Betrifft: AW: Habe versucht einem Makro Variablen hinzuzufügen..
von: Sepp
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************
Option Explicit
Sub In_einer_Spalte_zusammenfassen()
Dim imdb As Worksheet, noimdb As Worksheet, alle As Worksheet
Dim z_imdb As Double, z_noimdb As Double
Dim rng1 As Range, rng2 As Range, rng As Range
Dim nix1 As String, nix2 As String, nix3 As String, nix4 As String
Dim nix5 As String, nix6 As String, nix7 As String
Dim i As Double, ziel As Range
Sheets.Add After:=ActiveSheet
ActiveSheet.Name = "Käsekuchen"
Set imdb = Worksheets("imdb")
Set noimdb = Worksheets("no imdb")
Set alle = Worksheets("Käsekuchen")
z_imdb = imdb.UsedRange.Rows.Count
z_noimdb = noimdb.UsedRange.Rows.Count
Set rng1 = imdb.Range(imdb.Cells(1, 3), imdb.Cells(z_imdb, 10))
Set rng2 = noimdb.Range(noimdb.Cells(1, 2), noimdb.Cells(z_noimdb, 17))
nix1 = "unknown"
nix2 = "unknowns"
nix3 = "na"
nix4 = "+ more"
nix5 = "none"
nix6 = "uniknowns"
nix7 = "others"
i = 1
For Each rng In rng1
If Trim(rng.Value) <> "" Then
If rng.Font.Color = RGB(255, 0, 0) Then
Select Case LCase(Trim(rng.Value))
Case nix1, nix2, nix3, nix4, nix5, nix6, nix7
Case Else
alle.Cells(i, 1) = rng.Value
alle.Cells(i, 2) = imdb.Cells(rng.Row, 1).Value
i = i + 1
End Select
End If
End If
Next
For Each rng In rng2
If Trim(rng.Value) <> "" Then
Select Case LCase(Trim(rng.Value))
Case nix1, nix2, nix3, nix4, nix5, nix6, nix7
Case Else
alle.Cells(i, 1) = rng.Value
alle.Cells(i, 2) = noimdb.Cells(rng.Row, 2).Value
i = i + 1
End Select
End If
Next
End Sub
![]() |
Betrifft: AW: Habe versucht einem Makro Variablen hinzuzufügen..
von: Jenny
alle.Cells(i, 2) = imdb.Cells(rng.Row, 1).Value
und alle.Cells(i, 2) = noimdb.Cells(rng.Row, 2).Value
ich wollte in noimdb die Spalte A und in imdb die Spalte B. Wie gesagt das hab ich selbst ändern können.![]() |
Betrifft: AW: Habe versucht einem Makro Variablen hinzuzufügen..
von: Sepp
Geschrieben am: 31.05.2015 19:01:01
Hallo Jenny,
deshalb schrieb ich ja "ungetestet", aber so lernt man;-)
![]() |
Betrifft: AW: Habe versucht einem Makro Variablen hinzuzufügen..
von: Jenny
![]() |