Im folgenden Code habe ich die schwierigste Zeit, eine bestimmte Zelle im Variablenbereich "rngCell" zu identifizieren. In der "If" -Anweisung möchte ich eine bestimmte Zelle in der Spalte oder Zeile, in der die rngCell (die aktive Zelle ist), anstelle des Werts von rngCell kopieren. Ich habe versucht, Offset zu verwenden, aber habe versagt. Beispiel: Wenn rngCell auf e42 steht, benötige ich möglicherweise einen Wert von e2 oder a42.VBA: Zellwert im Variablenbereich kopieren
Vielen Dank.
Dim rngCell As Range
Dim lngLstRow As Long
Dim ws As Worksheet, resultsWS As Worksheet
lngLstRow = ws.UsedRange.Rows.Count
Worksheets("FileShares").Select
j = 4
p = 1
q = 4
g = 6
Dim k&
For k = 9 To 50
With ws
For Each rngCell In .Range(.Cells(8, k), .Cells(lngLstRow, k))
For i = LBound(maxKeywords) To UBound(maxKeywords)
If rngCell.Value = maxKeywords(i) And rngCell.Interior.ColorIndex = 3 Then
resultsWS.Cells(g, 2).Offset(j + p, 0) = rngCell.Value
g = g + 1
j = q + p - 5 'Used to start at row 8 and every row after
End If
Next i
Next rngCell
End With
Next k
Bitte beachten Sie, das nur einen Teil des Codes ist. – Vince
Der Code, den Sie uns zeigen, wird mit dem Laufzeitfehler 91 in die Luft gehen, da 'ws' niemals zugewiesen wird. Es besteht auch keine Notwendigkeit, das Blatt "FileShares" auszuwählen. –
Ich bin auch ziemlich verblüfft von 'Dim k &', vorausgesetzt, Sie verwenden nicht [Typ Hinweise] (http://stackoverflow.com/documentation/vba/877/declaring-variables/2960/type-hints#t= 20170426200910747442) überall. Warum geben Sie nicht einen expliziten, benannten Typ wie alles andere? –